From 0210bd57fe6b3724351debb5eee607960f4765fd Mon Sep 17 00:00:00 2001 From: ChiKyun Kim Date: Fri, 12 Sep 2025 17:34:04 +0900 Subject: [PATCH] .. --- .cproject | 579 - .project | 81 - Debug/OpenV2G.exe | Bin 3945917 -> 0 bytes Debug/decoded_output.exi | Bin 62 -> 0 bytes Debug/makefile | 51 - Debug/objects.mk | 8 - Debug/sources.mk | 24 - Debug/src/appHandshake/appHandEXIDatatypes.d | 10 - Debug/src/appHandshake/appHandEXIDatatypes.o | Bin 22886 -> 0 bytes .../appHandshake/appHandEXIDatatypesDecoder.d | 25 - .../appHandshake/appHandEXIDatatypesDecoder.o | Bin 37810 -> 0 bytes .../appHandshake/appHandEXIDatatypesEncoder.d | 22 - .../appHandshake/appHandEXIDatatypesEncoder.o | Bin 35040 -> 0 bytes Debug/src/appHandshake/subdir.mk | 30 - Debug/src/codec/BitInputStream.d | 11 - Debug/src/codec/BitInputStream.o | Bin 23785 -> 0 bytes Debug/src/codec/BitOutputStream.d | 11 - Debug/src/codec/BitOutputStream.o | Bin 23862 -> 0 bytes Debug/src/codec/ByteStream.d | 8 - Debug/src/codec/ByteStream.o | Bin 23863 -> 0 bytes Debug/src/codec/DecoderChannel.d | 19 - Debug/src/codec/DecoderChannel.o | Bin 40071 -> 0 bytes Debug/src/codec/EXIHeaderDecoder.d | 19 - Debug/src/codec/EXIHeaderDecoder.o | Bin 23538 -> 0 bytes Debug/src/codec/EXIHeaderEncoder.d | 14 - Debug/src/codec/EXIHeaderEncoder.o | Bin 20944 -> 0 bytes Debug/src/codec/EncoderChannel.d | 19 - Debug/src/codec/EncoderChannel.o | Bin 35111 -> 0 bytes Debug/src/codec/MethodsBag.d | 6 - Debug/src/codec/MethodsBag.o | Bin 20750 -> 0 bytes Debug/src/codec/subdir.mk | 45 - Debug/src/din/dinEXIDatatypes.d | 9 - Debug/src/din/dinEXIDatatypes.o | Bin 114282 -> 0 bytes Debug/src/din/dinEXIDatatypesDecoder.d | 24 - Debug/src/din/dinEXIDatatypesDecoder.o | Bin 370475 -> 0 bytes Debug/src/din/dinEXIDatatypesEncoder.d | 21 - Debug/src/din/dinEXIDatatypesEncoder.o | Bin 330575 -> 0 bytes Debug/src/din/subdir.mk | 30 - Debug/src/iso1/iso1EXIDatatypes.d | 9 - Debug/src/iso1/iso1EXIDatatypes.o | Bin 116241 -> 0 bytes Debug/src/iso1/iso1EXIDatatypesDecoder.d | 24 - Debug/src/iso1/iso1EXIDatatypesDecoder.o | Bin 406869 -> 0 bytes Debug/src/iso1/iso1EXIDatatypesEncoder.d | 21 - Debug/src/iso1/iso1EXIDatatypesEncoder.o | Bin 361956 -> 0 bytes Debug/src/iso1/subdir.mk | 30 - Debug/src/iso2/iso2EXIDatatypes.d | 9 - Debug/src/iso2/iso2EXIDatatypes.o | Bin 155662 -> 0 bytes Debug/src/iso2/iso2EXIDatatypesDecoder.d | 24 - Debug/src/iso2/iso2EXIDatatypesDecoder.o | Bin 1497227 -> 0 bytes Debug/src/iso2/iso2EXIDatatypesEncoder.d | 21 - Debug/src/iso2/iso2EXIDatatypesEncoder.o | Bin 1288793 -> 0 bytes Debug/src/iso2/subdir.mk | 30 - Debug/src/test/main.d | 3 - Debug/src/test/main.o | Bin 18358 -> 0 bytes Debug/src/test/main_databinder.d | 31 - Debug/src/test/main_databinder.o | Bin 130371 -> 0 bytes Debug/src/test/main_example.d | 53 - Debug/src/test/main_example.o | Bin 212057 -> 0 bytes Debug/src/test/subdir.mk | 30 - Debug/src/transport/subdir.mk | 24 - Debug/src/transport/v2gtp.d | 3 - Debug/src/transport/v2gtp.o | Bin 22351 -> 0 bytes Debug/src/xmldsig/subdir.mk | 30 - Debug/src/xmldsig/xmldsigEXIDatatypes.d | 9 - Debug/src/xmldsig/xmldsigEXIDatatypes.o | Bin 20373 -> 0 bytes .../src/xmldsig/xmldsigEXIDatatypesDecoder.d | 23 - .../src/xmldsig/xmldsigEXIDatatypesDecoder.o | Bin 23036 -> 0 bytes .../src/xmldsig/xmldsigEXIDatatypesEncoder.d | 20 - .../src/xmldsig/xmldsigEXIDatatypesEncoder.o | Bin 22836 -> 0 bytes Debug/test.exi | Bin 102 -> 0 bytes Debug/test.txt | 1 - DotNet/DECODE.md | 282 - DotNet/ENCODE.md | 1045 - LICENSE.txt | 165 - Port/dotnet/ANALYSIS_RESULTS.md | 189 - Port/dotnet/DECODE.md | 282 - Port/dotnet/ENCODE.md | 1045 - Port/dotnet/EXI/BitInputStream.cs | 215 - Port/dotnet/EXI/BitOutputStream.cs | 237 - Port/dotnet/EXI/BitStreamExact.cs | 643 - Port/dotnet/EXI/ByteStream.cs | 198 - Port/dotnet/EXI/DinEXIDocument.cs | 120 - Port/dotnet/EXI/EXIHeaderExact.cs | 174 - Port/dotnet/EXI/EXITypes.cs | 259 - Port/dotnet/EXI/EXITypesExact.cs | 203 - Port/dotnet/EXI/ErrorCodes.cs | 132 - Port/dotnet/EXI/Iso1EXIDocument.cs | 144 - Port/dotnet/EXI/Iso2EXIDocument.cs | 122 - Port/dotnet/Program.cs | 380 - Port/dotnet/ROUNDTRIP.md | 135 - Port/dotnet/V2G/EXICodecExact.cs | 1344 - Port/dotnet/V2G/EXIDecoder.cs | 263 - Port/dotnet/V2G/EXIEncoder.cs | 275 - Port/dotnet/V2G/EXIEncoderExact.cs | 705 - Port/dotnet/V2G/SimpleV2GDecoder.cs | 131 - Port/dotnet/V2G/V2GMessageProcessor.cs | 1580 - Port/dotnet/V2G/V2GProtocol.cs | 209 - Port/dotnet/V2G/V2GTypesExact.cs | 435 - Port/dotnet/V2GDecoderNet.csproj | 18 - Port/dotnet/published/V2GDecoderNet.deps.json | 23 - Port/dotnet/published/V2GDecoderNet.dll | Bin 97280 -> 0 bytes Port/dotnet/published/V2GDecoderNet.exe | Bin 151552 -> 0 bytes Port/dotnet/published/V2GDecoderNet.pdb | Bin 39452 -> 0 bytes .../V2GDecoderNet.runtimeconfig.json | 13 - .../roundtrip_test/test1_vc2022_decoded.txt | 62 - .../dotnet/roundtrip_test/test5_clean_xml.xml | 4 - .../HexDumpToBinary/HexDumpToBinary.vcxproj | 159 - Port/vc2022/HexToBinary/HexToBinary.vcxproj | 159 - .../HexToBinary/HexToBinary.vcxproj.user | 4 - Port/vc2022/README.md | 97 - Port/vc2022/UpgradeLog.htm | 275 - Port/vc2022/V2GDecoder.c | 1959 - Port/vc2022/V2GDecoder/V2GDecoder.vcxproj | 213 - .../V2GDecoder/V2GDecoder.vcxproj.filters | 170 - .../vc2022/V2GDecoder/V2GDecoder.vcxproj.user | 7 - Port/vc2022/V2GDecoderC.sln | 50 - Port/vc2022/build.bat | 29 - .../V2GDecoder.c | 1500 - Port/vc2022/hex_dump_to_binary.c | 78 - Port/vc2022/hex_to_binary.c | 76 - .../src/appHandshake/appHandEXIDatatypes.c | 64 - .../src/appHandshake/appHandEXIDatatypes.h | 133 - .../appHandshake/appHandEXIDatatypesDecoder.c | 896 - .../appHandshake/appHandEXIDatatypesDecoder.h | 57 - .../appHandshake/appHandEXIDatatypesEncoder.c | 671 - .../appHandshake/appHandEXIDatatypesEncoder.h | 58 - Port/vc2022/src/codec/BitInputStream.c | 105 - Port/vc2022/src/codec/BitInputStream.h | 67 - Port/vc2022/src/codec/BitOutputStream.c | 124 - Port/vc2022/src/codec/BitOutputStream.h | 85 - Port/vc2022/src/codec/ByteStream.c | 88 - Port/vc2022/src/codec/ByteStream.h | 75 - Port/vc2022/src/codec/DecoderChannel.c | 1068 - Port/vc2022/src/codec/DecoderChannel.h | 441 - Port/vc2022/src/codec/EXIConfig.h | 106 - Port/vc2022/src/codec/EXIHeaderDecoder.c | 68 - Port/vc2022/src/codec/EXIHeaderDecoder.h | 60 - Port/vc2022/src/codec/EXIHeaderEncoder.c | 50 - Port/vc2022/src/codec/EXIHeaderEncoder.h | 61 - Port/vc2022/src/codec/EXIOptions.h | 93 - Port/vc2022/src/codec/EXITypes.h | 591 - Port/vc2022/src/codec/EncoderChannel.c | 704 - Port/vc2022/src/codec/EncoderChannel.h | 423 - Port/vc2022/src/codec/ErrorCodes.h | 120 - Port/vc2022/src/codec/MethodsBag.c | 117 - Port/vc2022/src/codec/MethodsBag.h | 70 - Port/vc2022/src/compat/windows_compat.h | 30 - Port/vc2022/src/din/dinEXIDatatypes.c | 969 - Port/vc2022/src/din/dinEXIDatatypes.h | 2934 - Port/vc2022/src/din/dinEXIDatatypesDecoder.c | 17065 --- Port/vc2022/src/din/dinEXIDatatypesDecoder.h | 65 - Port/vc2022/src/din/dinEXIDatatypesEncoder.c | 12826 --- Port/vc2022/src/din/dinEXIDatatypesEncoder.h | 68 - Port/vc2022/src/iso1/iso1EXIDatatypes.c | 992 - Port/vc2022/src/iso1/iso1EXIDatatypes.h | 2992 - .../vc2022/src/iso1/iso1EXIDatatypesDecoder.c | 19379 ---- .../vc2022/src/iso1/iso1EXIDatatypesDecoder.h | 65 - .../vc2022/src/iso1/iso1EXIDatatypesEncoder.c | 14611 --- .../vc2022/src/iso1/iso1EXIDatatypesEncoder.h | 68 - Port/vc2022/src/iso2/iso2EXIDatatypes.c | 1496 - Port/vc2022/src/iso2/iso2EXIDatatypes.h | 4189 - .../vc2022/src/iso2/iso2EXIDatatypesDecoder.c | 86541 ---------------- .../vc2022/src/iso2/iso2EXIDatatypesDecoder.h | 65 - .../vc2022/src/iso2/iso2EXIDatatypesEncoder.c | 62632 ----------- .../vc2022/src/iso2/iso2EXIDatatypesEncoder.h | 68 - Port/vc2022/src/test/main.c | 47 - Port/vc2022/src/test/main.h | 45 - Port/vc2022/src/test/main_databinder.c | 180 - Port/vc2022/src/test/main_example.c | 2572 - Port/vc2022/src/transport/v2gtp.c | 92 - Port/vc2022/src/transport/v2gtp.h | 55 - Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.c | 255 - Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.h | 935 - .../src/xmldsig/xmldsigEXIDatatypesDecoder.c | 4919 - .../src/xmldsig/xmldsigEXIDatatypesDecoder.h | 65 - .../src/xmldsig/xmldsigEXIDatatypesEncoder.c | 3589 - .../src/xmldsig/xmldsigEXIDatatypesEncoder.h | 66 - Port/vc2022/struct_exi.txt | 46 - README.txt | 165 - REPORT.md | 180 - Release/makefile | 51 - Release/objects.mk | 8 - Release/sources.mk | 24 - Release/src/appHandshake/subdir.mk | 30 - Release/src/codec/subdir.mk | 45 - Release/src/din/subdir.mk | 30 - Release/src/iso1/subdir.mk | 30 - Release/src/iso2/subdir.mk | 30 - Release/src/test/subdir.mk | 30 - Release/src/transport/subdir.mk | 24 - Release/src/xmldsig/subdir.mk | 30 - V2GDecoder.c | 1809 - V2GDecoder.exe | Bin 2291612 -> 0 bytes build.bat | 20 - data/sessionSetupReq.xml | 15 - data/sessionSetupReq.xml.exi | Bin 16 -> 0 bytes data/sessionSetupRes.xml | 17 - data/sessionSetupRes.xml.exi | Bin 28 -> 0 bytes debug_temp.h | 1 - docs/final_comparison_clean.md | 94 - docs/message_implementation_status_report.md | 102 - docs/v2g_message_support_analysis.md | 92 - enhanced_exi_viewer.o | Bin 27806 -> 0 bytes hex_dump_to_binary.c | 78 - hex_dump_to_binary.exe | Bin 43297 -> 0 bytes hex_to_binary.c | 76 - hex_to_binary.exe | Bin 43276 -> 0 bytes runtime/test1.exi | Bin 131 -> 0 bytes runtime/test1.xml | 3 - runtime/test1dec.exi | 1 - runtime/test2.exi | Bin 51 -> 0 bytes runtime/test3.exi | Bin 43 -> 0 bytes runtime/test4.exi | Bin 43 -> 0 bytes runtime/test5.exi | Bin 43 -> 0 bytes runtime/v2gdecode.exe | Bin 2285530 -> 0 bytes src/appHandshake/appHandEXIDatatypes.c | 64 - src/appHandshake/appHandEXIDatatypes.h | 133 - src/appHandshake/appHandEXIDatatypesDecoder.c | 896 - src/appHandshake/appHandEXIDatatypesDecoder.h | 57 - src/appHandshake/appHandEXIDatatypesEncoder.c | 671 - src/appHandshake/appHandEXIDatatypesEncoder.h | 58 - src/codec/BitInputStream.c | 105 - src/codec/BitInputStream.h | 67 - src/codec/BitOutputStream.c | 124 - src/codec/BitOutputStream.h | 85 - src/codec/ByteStream.c | 88 - src/codec/ByteStream.h | 75 - src/codec/DecoderChannel.c | 1068 - src/codec/DecoderChannel.h | 441 - src/codec/EXIConfig.h | 106 - src/codec/EXIHeaderDecoder.c | 68 - src/codec/EXIHeaderDecoder.h | 60 - src/codec/EXIHeaderEncoder.c | 50 - src/codec/EXIHeaderEncoder.h | 61 - src/codec/EXIOptions.h | 93 - src/codec/EXITypes.h | 591 - src/codec/EncoderChannel.c | 704 - src/codec/EncoderChannel.h | 423 - src/codec/ErrorCodes.h | 120 - src/codec/MethodsBag.c | 117 - src/codec/MethodsBag.h | 70 - src/compat/windows_compat.h | 30 - src/din/dinEXIDatatypes.c | 969 - src/din/dinEXIDatatypes.h | 2934 - src/din/dinEXIDatatypesDecoder.c | 17065 --- src/din/dinEXIDatatypesDecoder.h | 65 - src/din/dinEXIDatatypesEncoder.c | 12826 --- src/din/dinEXIDatatypesEncoder.h | 68 - src/iso1/iso1EXIDatatypes.c | 992 - src/iso1/iso1EXIDatatypes.h | 2992 - src/iso1/iso1EXIDatatypesDecoder.c | 19379 ---- src/iso1/iso1EXIDatatypesDecoder.h | 65 - src/iso1/iso1EXIDatatypesEncoder.c | 14591 --- src/iso1/iso1EXIDatatypesEncoder.h | 68 - src/iso2/iso2EXIDatatypes.c | 1496 - src/iso2/iso2EXIDatatypes.h | 4189 - src/iso2/iso2EXIDatatypesDecoder.c | 86541 ---------------- src/iso2/iso2EXIDatatypesDecoder.h | 65 - src/iso2/iso2EXIDatatypesEncoder.c | 62632 ----------- src/iso2/iso2EXIDatatypesEncoder.h | 68 - src/test/main.c | 47 - src/test/main.h | 42 - src/test/main_databinder.c | 170 - src/test/main_example.c | 2572 - src/transport/v2gtp.c | 92 - src/transport/v2gtp.h | 55 - src/xmldsig/xmldsigEXIDatatypes.c | 255 - src/xmldsig/xmldsigEXIDatatypes.h | 935 - src/xmldsig/xmldsigEXIDatatypesDecoder.c | 4919 - src/xmldsig/xmldsigEXIDatatypesDecoder.h | 65 - src/xmldsig/xmldsigEXIDatatypesEncoder.c | 3589 - src/xmldsig/xmldsigEXIDatatypesEncoder.h | 66 - 272 files changed, 512807 deletions(-) delete mode 100644 .cproject delete mode 100644 .project delete mode 100644 Debug/OpenV2G.exe delete mode 100644 Debug/decoded_output.exi delete mode 100644 Debug/makefile delete mode 100644 Debug/objects.mk delete mode 100644 Debug/sources.mk delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypes.d delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypes.o delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypesDecoder.d delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypesDecoder.o delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypesEncoder.d delete mode 100644 Debug/src/appHandshake/appHandEXIDatatypesEncoder.o delete mode 100644 Debug/src/appHandshake/subdir.mk delete mode 100644 Debug/src/codec/BitInputStream.d delete mode 100644 Debug/src/codec/BitInputStream.o delete mode 100644 Debug/src/codec/BitOutputStream.d delete mode 100644 Debug/src/codec/BitOutputStream.o delete mode 100644 Debug/src/codec/ByteStream.d delete mode 100644 Debug/src/codec/ByteStream.o delete mode 100644 Debug/src/codec/DecoderChannel.d delete mode 100644 Debug/src/codec/DecoderChannel.o delete mode 100644 Debug/src/codec/EXIHeaderDecoder.d delete mode 100644 Debug/src/codec/EXIHeaderDecoder.o delete mode 100644 Debug/src/codec/EXIHeaderEncoder.d delete mode 100644 Debug/src/codec/EXIHeaderEncoder.o delete mode 100644 Debug/src/codec/EncoderChannel.d delete mode 100644 Debug/src/codec/EncoderChannel.o delete mode 100644 Debug/src/codec/MethodsBag.d delete mode 100644 Debug/src/codec/MethodsBag.o delete mode 100644 Debug/src/codec/subdir.mk delete mode 100644 Debug/src/din/dinEXIDatatypes.d delete mode 100644 Debug/src/din/dinEXIDatatypes.o delete mode 100644 Debug/src/din/dinEXIDatatypesDecoder.d delete mode 100644 Debug/src/din/dinEXIDatatypesDecoder.o delete mode 100644 Debug/src/din/dinEXIDatatypesEncoder.d delete mode 100644 Debug/src/din/dinEXIDatatypesEncoder.o delete mode 100644 Debug/src/din/subdir.mk delete mode 100644 Debug/src/iso1/iso1EXIDatatypes.d delete mode 100644 Debug/src/iso1/iso1EXIDatatypes.o delete mode 100644 Debug/src/iso1/iso1EXIDatatypesDecoder.d delete mode 100644 Debug/src/iso1/iso1EXIDatatypesDecoder.o delete mode 100644 Debug/src/iso1/iso1EXIDatatypesEncoder.d delete mode 100644 Debug/src/iso1/iso1EXIDatatypesEncoder.o delete mode 100644 Debug/src/iso1/subdir.mk delete mode 100644 Debug/src/iso2/iso2EXIDatatypes.d delete mode 100644 Debug/src/iso2/iso2EXIDatatypes.o delete mode 100644 Debug/src/iso2/iso2EXIDatatypesDecoder.d delete mode 100644 Debug/src/iso2/iso2EXIDatatypesDecoder.o delete mode 100644 Debug/src/iso2/iso2EXIDatatypesEncoder.d delete mode 100644 Debug/src/iso2/iso2EXIDatatypesEncoder.o delete mode 100644 Debug/src/iso2/subdir.mk delete mode 100644 Debug/src/test/main.d delete mode 100644 Debug/src/test/main.o delete mode 100644 Debug/src/test/main_databinder.d delete mode 100644 Debug/src/test/main_databinder.o delete mode 100644 Debug/src/test/main_example.d delete mode 100644 Debug/src/test/main_example.o delete mode 100644 Debug/src/test/subdir.mk delete mode 100644 Debug/src/transport/subdir.mk delete mode 100644 Debug/src/transport/v2gtp.d delete mode 100644 Debug/src/transport/v2gtp.o delete mode 100644 Debug/src/xmldsig/subdir.mk delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypes.d delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypes.o delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.d delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.o delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.d delete mode 100644 Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.o delete mode 100644 Debug/test.exi delete mode 100644 Debug/test.txt delete mode 100644 DotNet/DECODE.md delete mode 100644 DotNet/ENCODE.md delete mode 100644 LICENSE.txt delete mode 100644 Port/dotnet/ANALYSIS_RESULTS.md delete mode 100644 Port/dotnet/DECODE.md delete mode 100644 Port/dotnet/ENCODE.md delete mode 100644 Port/dotnet/EXI/BitInputStream.cs delete mode 100644 Port/dotnet/EXI/BitOutputStream.cs delete mode 100644 Port/dotnet/EXI/BitStreamExact.cs delete mode 100644 Port/dotnet/EXI/ByteStream.cs delete mode 100644 Port/dotnet/EXI/DinEXIDocument.cs delete mode 100644 Port/dotnet/EXI/EXIHeaderExact.cs delete mode 100644 Port/dotnet/EXI/EXITypes.cs delete mode 100644 Port/dotnet/EXI/EXITypesExact.cs delete mode 100644 Port/dotnet/EXI/ErrorCodes.cs delete mode 100644 Port/dotnet/EXI/Iso1EXIDocument.cs delete mode 100644 Port/dotnet/EXI/Iso2EXIDocument.cs delete mode 100644 Port/dotnet/Program.cs delete mode 100644 Port/dotnet/ROUNDTRIP.md delete mode 100644 Port/dotnet/V2G/EXICodecExact.cs delete mode 100644 Port/dotnet/V2G/EXIDecoder.cs delete mode 100644 Port/dotnet/V2G/EXIEncoder.cs delete mode 100644 Port/dotnet/V2G/EXIEncoderExact.cs delete mode 100644 Port/dotnet/V2G/SimpleV2GDecoder.cs delete mode 100644 Port/dotnet/V2G/V2GMessageProcessor.cs delete mode 100644 Port/dotnet/V2G/V2GProtocol.cs delete mode 100644 Port/dotnet/V2G/V2GTypesExact.cs delete mode 100644 Port/dotnet/V2GDecoderNet.csproj delete mode 100644 Port/dotnet/published/V2GDecoderNet.deps.json delete mode 100644 Port/dotnet/published/V2GDecoderNet.dll delete mode 100644 Port/dotnet/published/V2GDecoderNet.exe delete mode 100644 Port/dotnet/published/V2GDecoderNet.pdb delete mode 100644 Port/dotnet/published/V2GDecoderNet.runtimeconfig.json delete mode 100644 Port/dotnet/roundtrip_test/test1_vc2022_decoded.txt delete mode 100644 Port/dotnet/roundtrip_test/test5_clean_xml.xml delete mode 100644 Port/vc2022/HexDumpToBinary/HexDumpToBinary.vcxproj delete mode 100644 Port/vc2022/HexToBinary/HexToBinary.vcxproj delete mode 100644 Port/vc2022/HexToBinary/HexToBinary.vcxproj.user delete mode 100644 Port/vc2022/README.md delete mode 100644 Port/vc2022/UpgradeLog.htm delete mode 100644 Port/vc2022/V2GDecoder.c delete mode 100644 Port/vc2022/V2GDecoder/V2GDecoder.vcxproj delete mode 100644 Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.filters delete mode 100644 Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.user delete mode 100644 Port/vc2022/V2GDecoderC.sln delete mode 100644 Port/vc2022/build.bat delete mode 100644 Port/vc2022/enc_temp_folder/3cccf615621dc9817094ccd5888594d0/V2GDecoder.c delete mode 100644 Port/vc2022/hex_dump_to_binary.c delete mode 100644 Port/vc2022/hex_to_binary.c delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypes.c delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypes.h delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.c delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.h delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.c delete mode 100644 Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.h delete mode 100644 Port/vc2022/src/codec/BitInputStream.c delete mode 100644 Port/vc2022/src/codec/BitInputStream.h delete mode 100644 Port/vc2022/src/codec/BitOutputStream.c delete mode 100644 Port/vc2022/src/codec/BitOutputStream.h delete mode 100644 Port/vc2022/src/codec/ByteStream.c delete mode 100644 Port/vc2022/src/codec/ByteStream.h delete mode 100644 Port/vc2022/src/codec/DecoderChannel.c delete mode 100644 Port/vc2022/src/codec/DecoderChannel.h delete mode 100644 Port/vc2022/src/codec/EXIConfig.h delete mode 100644 Port/vc2022/src/codec/EXIHeaderDecoder.c delete mode 100644 Port/vc2022/src/codec/EXIHeaderDecoder.h delete mode 100644 Port/vc2022/src/codec/EXIHeaderEncoder.c delete mode 100644 Port/vc2022/src/codec/EXIHeaderEncoder.h delete mode 100644 Port/vc2022/src/codec/EXIOptions.h delete mode 100644 Port/vc2022/src/codec/EXITypes.h delete mode 100644 Port/vc2022/src/codec/EncoderChannel.c delete mode 100644 Port/vc2022/src/codec/EncoderChannel.h delete mode 100644 Port/vc2022/src/codec/ErrorCodes.h delete mode 100644 Port/vc2022/src/codec/MethodsBag.c delete mode 100644 Port/vc2022/src/codec/MethodsBag.h delete mode 100644 Port/vc2022/src/compat/windows_compat.h delete mode 100644 Port/vc2022/src/din/dinEXIDatatypes.c delete mode 100644 Port/vc2022/src/din/dinEXIDatatypes.h delete mode 100644 Port/vc2022/src/din/dinEXIDatatypesDecoder.c delete mode 100644 Port/vc2022/src/din/dinEXIDatatypesDecoder.h delete mode 100644 Port/vc2022/src/din/dinEXIDatatypesEncoder.c delete mode 100644 Port/vc2022/src/din/dinEXIDatatypesEncoder.h delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypes.c delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypes.h delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.c delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.h delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.c delete mode 100644 Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.h delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypes.c delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypes.h delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.c delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.h delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.c delete mode 100644 Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.h delete mode 100644 Port/vc2022/src/test/main.c delete mode 100644 Port/vc2022/src/test/main.h delete mode 100644 Port/vc2022/src/test/main_databinder.c delete mode 100644 Port/vc2022/src/test/main_example.c delete mode 100644 Port/vc2022/src/transport/v2gtp.c delete mode 100644 Port/vc2022/src/transport/v2gtp.h delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.c delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.h delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.c delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.h delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.c delete mode 100644 Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.h delete mode 100644 Port/vc2022/struct_exi.txt delete mode 100644 README.txt delete mode 100644 REPORT.md delete mode 100644 Release/makefile delete mode 100644 Release/objects.mk delete mode 100644 Release/sources.mk delete mode 100644 Release/src/appHandshake/subdir.mk delete mode 100644 Release/src/codec/subdir.mk delete mode 100644 Release/src/din/subdir.mk delete mode 100644 Release/src/iso1/subdir.mk delete mode 100644 Release/src/iso2/subdir.mk delete mode 100644 Release/src/test/subdir.mk delete mode 100644 Release/src/transport/subdir.mk delete mode 100644 Release/src/xmldsig/subdir.mk delete mode 100644 V2GDecoder.c delete mode 100644 V2GDecoder.exe delete mode 100644 build.bat delete mode 100644 data/sessionSetupReq.xml delete mode 100644 data/sessionSetupReq.xml.exi delete mode 100644 data/sessionSetupRes.xml delete mode 100644 data/sessionSetupRes.xml.exi delete mode 100644 debug_temp.h delete mode 100644 docs/final_comparison_clean.md delete mode 100644 docs/message_implementation_status_report.md delete mode 100644 docs/v2g_message_support_analysis.md delete mode 100644 enhanced_exi_viewer.o delete mode 100644 hex_dump_to_binary.c delete mode 100644 hex_dump_to_binary.exe delete mode 100644 hex_to_binary.c delete mode 100644 hex_to_binary.exe delete mode 100644 runtime/test1.exi delete mode 100644 runtime/test1.xml delete mode 100644 runtime/test1dec.exi delete mode 100644 runtime/test2.exi delete mode 100644 runtime/test3.exi delete mode 100644 runtime/test4.exi delete mode 100644 runtime/test5.exi delete mode 100644 runtime/v2gdecode.exe delete mode 100644 src/appHandshake/appHandEXIDatatypes.c delete mode 100644 src/appHandshake/appHandEXIDatatypes.h delete mode 100644 src/appHandshake/appHandEXIDatatypesDecoder.c delete mode 100644 src/appHandshake/appHandEXIDatatypesDecoder.h delete mode 100644 src/appHandshake/appHandEXIDatatypesEncoder.c delete mode 100644 src/appHandshake/appHandEXIDatatypesEncoder.h delete mode 100644 src/codec/BitInputStream.c delete mode 100644 src/codec/BitInputStream.h delete mode 100644 src/codec/BitOutputStream.c delete mode 100644 src/codec/BitOutputStream.h delete mode 100644 src/codec/ByteStream.c delete mode 100644 src/codec/ByteStream.h delete mode 100644 src/codec/DecoderChannel.c delete mode 100644 src/codec/DecoderChannel.h delete mode 100644 src/codec/EXIConfig.h delete mode 100644 src/codec/EXIHeaderDecoder.c delete mode 100644 src/codec/EXIHeaderDecoder.h delete mode 100644 src/codec/EXIHeaderEncoder.c delete mode 100644 src/codec/EXIHeaderEncoder.h delete mode 100644 src/codec/EXIOptions.h delete mode 100644 src/codec/EXITypes.h delete mode 100644 src/codec/EncoderChannel.c delete mode 100644 src/codec/EncoderChannel.h delete mode 100644 src/codec/ErrorCodes.h delete mode 100644 src/codec/MethodsBag.c delete mode 100644 src/codec/MethodsBag.h delete mode 100644 src/compat/windows_compat.h delete mode 100644 src/din/dinEXIDatatypes.c delete mode 100644 src/din/dinEXIDatatypes.h delete mode 100644 src/din/dinEXIDatatypesDecoder.c delete mode 100644 src/din/dinEXIDatatypesDecoder.h delete mode 100644 src/din/dinEXIDatatypesEncoder.c delete mode 100644 src/din/dinEXIDatatypesEncoder.h delete mode 100644 src/iso1/iso1EXIDatatypes.c delete mode 100644 src/iso1/iso1EXIDatatypes.h delete mode 100644 src/iso1/iso1EXIDatatypesDecoder.c delete mode 100644 src/iso1/iso1EXIDatatypesDecoder.h delete mode 100644 src/iso1/iso1EXIDatatypesEncoder.c delete mode 100644 src/iso1/iso1EXIDatatypesEncoder.h delete mode 100644 src/iso2/iso2EXIDatatypes.c delete mode 100644 src/iso2/iso2EXIDatatypes.h delete mode 100644 src/iso2/iso2EXIDatatypesDecoder.c delete mode 100644 src/iso2/iso2EXIDatatypesDecoder.h delete mode 100644 src/iso2/iso2EXIDatatypesEncoder.c delete mode 100644 src/iso2/iso2EXIDatatypesEncoder.h delete mode 100644 src/test/main.c delete mode 100644 src/test/main.h delete mode 100644 src/test/main_databinder.c delete mode 100644 src/test/main_example.c delete mode 100644 src/transport/v2gtp.c delete mode 100644 src/transport/v2gtp.h delete mode 100644 src/xmldsig/xmldsigEXIDatatypes.c delete mode 100644 src/xmldsig/xmldsigEXIDatatypes.h delete mode 100644 src/xmldsig/xmldsigEXIDatatypesDecoder.c delete mode 100644 src/xmldsig/xmldsigEXIDatatypesDecoder.h delete mode 100644 src/xmldsig/xmldsigEXIDatatypesEncoder.c delete mode 100644 src/xmldsig/xmldsigEXIDatatypesEncoder.h diff --git a/.cproject b/.cproject deleted file mode 100644 index 8dbb0ee..0000000 --- a/.cproject +++ /dev/null @@ -1,579 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - make - - OpenV2G.exe - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.project b/.project deleted file mode 100644 index 63edc0a..0000000 --- a/.project +++ /dev/null @@ -1,81 +0,0 @@ - - - OpenV2G - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.buildLocation - ./OpenV2G/Debug - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - diff --git a/Debug/OpenV2G.exe b/Debug/OpenV2G.exe deleted file mode 100644 index e79b46e4620682fac2164241610319c40710a506..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3945917 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

;Pl3a^uG?AN>Kbqo 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

YB|&)m7v5nYu!d>_Xj>P@e*abKUs% zy4CgKB*K7g=ulnO8K}DWygpO+YPu_RJJ~e`hw7@g)2*%$ClS;&a;Wa!G*sO$?2-VV z>kdJ(i>@0Z6|_5G6SUQ>?g?A67YA%(hw8qYimIE(>$9$#4aqLlRgntXRd=ejZgo4^ zlD(+z6Nl<1OhMJPS>x+Ka3`3w2lf_!Kyt>-sg(t*$vI5e95ahw7?M zK-E2Gmjw8L%?QaZ)UB2Z+U>expXgSXfs+X8S~*mgWIU>FH@hUj)!iQFN?mWMpj~w@ z8tGPdl`Ywe1Gcq8br;8?>c;c>Y`|`TWEWjmSSn~&-JXWJ)vabr_M*Br4%Mw1gQ}~} z>oav@AlZewr`>%D9L{wU8t7Kno0A9wwyi^T14g6j67c#=T`fp

7wu#^6w0jrzLP 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�wk)G;WIs8{ayf%+7x*-&d4sJR$*7%e9Z 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
m-Pb*>x_6LT&3z>G+Ph!wZR!3w7FxP5kv_$J zym#Dj?_u{1BUJa!QmeU-re1sZWQ@~3uRHt*49U`cx%4US6TRb(+nn8VpHkhsNv-BS zmU`{oi({PT{zb2!=KhBCDehCeE3b2ZNctapH$r+m0Hbx67|}&3!8M z+Pjy*IL$rw@K1ApTly6DSG?nno5}7wo>1KfO0DKTgL>`V%VV78{%!Z4=KhZKDekX% z#~rsNyYC*Vx(|_B&3!iY+PkM?oaX*rx1Z+zp7bg13%%ox+lt-y4pH5olv>SwF7?{G zSHU>V{rj#z&Ha7pQ{0z$#~t@RcHci(b$?oFHTU_{Ywuni<23gle)ZGbKaf7feYtns zaa*(d!N*niQBte9FQQ(1_gWaIx&PSZr@4P5eTw@V-f_ou*!{>L)%`iC)!dg-uf2O6 zjMLnUV4>x6-LB4wnJMmXddD5N4Z9y3sJf4rTFre0_1e4F!#K^o7#3Q(f6~e9{+4&# zaqnmM69ZKDiBhY%ucBUi_XZfJx!-_=mhPWEWOjesJMOq`+5O~Ws{0hF)!f%muf2O? zjMLn2!a_^;&pVpk-|>z+?gQ+8s=w+!U1~M=b<}I`-VEb3_tIEs>3+C_+5J85xZ}2C z_cQ%e_gPY_xo@Ced-oO?r@5EILQD5A+MC_q_l`U6gY15;uj>Aa)N1az)NAkF3ga~Q zidbmr{^f&a_Yb_|j@zEy&;MF=e@$vN_s!I6@7@OEH22C_XzBiSJG1*o-f_q6!0s3O zsO}4;R&(Df&y(Sh~ zx_{f&?EZ;&+;Jab_hj9DxzuXzJ9HgjQX7^9M
j-HQ`HKLZv? zivM0TnSM|FzoXxfTFrg;BT?MDW1QxGCl*?|f8WOJ{<(MDaXYhn3F24W-;`R-eQ&QQ z?!7QhbH57f-BXEQaeqr{HTV5Jqqz6MIL*Bg7FxRh*xKy=g?HR> zf5q-)h+lDkTWU4;gFT|S_s2NRy(t!2x)+f?_Mw+9dtLSK-|v&zIBr*VFHii6`#Vyr zxgU8riu)jp)7&$#(9*q_^eOINxANV)v3ol4EAH<}t>%8LdldJf7^k_n#6nB=8>CNh zkG1sOyR&;0;#b_?ms-vJM7JpJ!!b^Ccd*dX{U+&C+`rBA-5+N6>cp?Oe;~D*`^m0R z+(%-Z=KcT{TDq5(KE?gJdwusF>|Trb759&%R&zh~t0?ZHF-~*ufQ6Rs<)lw>|GtIq z-jm(y5WnKSOKLUuGhL#%kHt96y)zbCx>uAw#r=m2-@O;R*CT$#{S&Fx+|PB6;ywZ6 zH1}>;Xz5;A`V{vcoBQsMuzLgISKL39TFw1@rzq}|FivytiG`N#)uc~xFXA0{+}`Zo znD`a<&+kdhNprvWP!#v67^k^EiiMW$HKk8+FXkP0+(+5H8SyLbhnt1CU+x&ieFny9 z?)|XP(*1VnQ`~RxjyrB2c5gxaiu)H$L)?=ixzENp&3zyiTDspUeTw@{-f_qMHM_U! zpt^tAB*eWq_1b@SF&E=B_aRtl>3)~=Dek4c
x-P^QR-M_v&#JvRd+PlxkIL-Y@ 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 z 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

Hf@wLnl*OBMlDw+Mi45m0rDfT~*rRHLHn8CANF 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 z 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�)-4faGkC|k^#se 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 z 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

u_G{tWAp8o( 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

^%XaX($$x+6TN>rnoK+QZQ%84XPJW8u{ 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%0ABU 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

bSNwB=uvP{Ev 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 ShPn`$RMNdWl8x;xPW~SToye&G diff --git a/Debug/decoded_output.exi b/Debug/decoded_output.exi deleted file mode 100644 index 1d88185dce84f75e1c5a27115e893bb57a14fabd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 TcmZpe!NdRs0vru6Cb2XCVJ-o) diff --git a/Debug/makefile b/Debug/makefile deleted file mode 100644 index f275f6d..0000000 --- a/Debug/makefile +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - --include ../makefile.init - -RM := rm -rf - -# All of the sources participating in the build are defined here --include sources.mk --include src/xmldsig/subdir.mk --include src/transport/subdir.mk --include src/test/subdir.mk --include src/iso2/subdir.mk --include src/iso1/subdir.mk --include src/din/subdir.mk --include src/codec/subdir.mk --include src/appHandshake/subdir.mk --include subdir.mk --include objects.mk - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -endif - --include ../makefile.defs - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: OpenV2G.exe - -# Tool invocations -OpenV2G.exe: $(OBJS) $(USER_OBJS) - @echo 'Building target: $@' - @echo 'Invoking: MinGW C Linker' - gcc -o "OpenV2G.exe" $(OBJS) $(USER_OBJS) $(LIBS) - @echo 'Finished building target: $@' - @echo ' ' - -# Other Targets -clean: - -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) OpenV2G.exe - -@echo ' ' - -.PHONY: all clean dependents -.SECONDARY: - --include ../makefile.targets diff --git a/Debug/objects.mk b/Debug/objects.mk deleted file mode 100644 index 742c2da..0000000 --- a/Debug/objects.mk +++ /dev/null @@ -1,8 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -USER_OBJS := - -LIBS := - diff --git a/Debug/sources.mk b/Debug/sources.mk deleted file mode 100644 index 2fad96d..0000000 --- a/Debug/sources.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -OBJ_SRCS := -ASM_SRCS := -C_SRCS := -S_UPPER_SRCS := -O_SRCS := -EXECUTABLES := -OBJS := -C_DEPS := - -# Every subdirectory with source files must be described here -SUBDIRS := \ -src/xmldsig \ -src/transport \ -src/test \ -src/iso2 \ -src/iso1 \ -src/din \ -src/codec \ -src/appHandshake \ - diff --git a/Debug/src/appHandshake/appHandEXIDatatypes.d b/Debug/src/appHandshake/appHandEXIDatatypes.d deleted file mode 100644 index 5304bd8..0000000 --- a/Debug/src/appHandshake/appHandEXIDatatypes.d +++ /dev/null @@ -1,10 +0,0 @@ -src/appHandshake/appHandEXIDatatypes.d: \ - ../src/appHandshake/appHandEXIDatatypes.c \ - ../src/appHandshake/appHandEXIDatatypes.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h - -../src/appHandshake/appHandEXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: diff --git a/Debug/src/appHandshake/appHandEXIDatatypes.o b/Debug/src/appHandshake/appHandEXIDatatypes.o deleted file mode 100644 index dcbe29b88f2e0af51e0cb1697d11f9bd9af49b0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22886 zcmcJ1d6Z;VdEdR&-7_tEMiLC05V6Zb7TsvNr}jnij8xtAs=G9`sb1Ce3=BMKs;j#T zbyqc2)iaW;$k+s%)sk#LvcW!HViU&;Hss*gP8>GJ25$+5fPr(27mQDmL;gr0i-F|# z-R<31RXsEIIjM8{^}FBq`@Z|#@9xXHCBDGu_g|Zg{S)yv%U4F7M@QmaJ}%+KE~MHA;!Mdko4Q}??HC^>X~RN z0DKCzePBL7lDK#zKnx?4dLCo%M_TCz)e@ITim-m%v%%N};C@}tM9y3yx62~OVZP?{RFV`3HJ8yzbP!-XDGLQq&80qYV#mH{R7Ac ziUUu+UTKEcve|HICB6~~FYk{Id!4g8onB|qZ6nwkw0F;TlbKX_c_$uTt^zU~ZJljH zVtISNGaR;dI?H>V-p*+EY=oUySvfNtw9m8-4mMi7t>JF#k&X^H7mIlmuhC-%o#9HG zx%XXm`-g*e=dydr%~#hhR}VV93$gXf`OcNY9bw$2c*;j8bbPqmAB@6>yb_?0aX8zkeLeJ|w z+VzH`LASRfqG`29odFy&dmDc_1mF=w)S--I3-9K0XP<=39N8m)LpFDgDC~q!Ds_5n z?twW7Kh4?k?*{ir@ptkZ9&L8(C4hg1&)t7=26}3P{;1#X?^R&>@SxT1u(<~x66!8= z2E%T@S2^6j(ixOnZ|D!$+$tILZhj)j>-LD3C*E`XwncJt;R|@apP#4=y8S_S^cb7l zAj(g1cKa-4^W6E5A@=91f;&Le{ob&%*5B$hkWR09-g6JzZIt)z!@Wvpr$6epMlj|d zA+p&W?Uu>HeCMiC!jFu%&_bqfd6m8$XNb)lVJDlbk`rG*&CrRt`VuPnT-{0wn`=-q z*(u?Z3*>>>7rO1;&VH+y_qxO8u(QSHHpwBg{JZDb!rk+8uX9ODYcOcRX&wdG2@w*R z`g+P#G&aX6L)&1AOr2%70>&VH`7I=!J2=q!3RPqlV=n^tkw3=ki-(5?2dLVeEelrf zyphfAlfom|C}zE{P+DH1d_nC?zkRshL47(sKi9o9hiX8vvpbH6z$AE}5`6dk5zwK5 z4kh%v?w&v4U26?`R7cp{RjPA~^Xz5aUU%dvgL1uoPZXZ%(GM9<=V9F`{PFkyBCNfW zvW=(dHS`QaeWmpMLsY(z@i_G?FAysKH>t!Mi1aE|l1GCo{j4El8IPQX2s#KDbwB>y zNwt$l=v8WH=MJIJpOzVzAEJIEt<&Kc7~FGao}sJu%-^bT-7{@`ly zq=()8&Ppz4p6535Yn~U5G84Gq)ZJpWLd0w~8;O>D)<)HBIC%rdV1r~+0w4nAVx?LK zDejYMxyIT?$+_T^K#vHzAH!W@oN||-<{H&p zo5i{lj@d+rJ2}@;7ASEbNpCn|BiE`Gw^?>n(hJ2(vEg{-Tw}wlR!WzQv2O9zPPO0_ zD-DpO0!1oSE9+BfijfhqDX_ayt&;|6tRfal)!c;Ie6_h+asUm;3!R1)4X7b)p08(Z zBUkrUi$strR*UQFj@$5ZrQ&*}?1+?Lj7~XTt>>M(S1L9dh|;O#i#d_;vA9gBWJBKP zCE_tzSR}8Oulc-qLK(Jt3BHs7FMLESB7W(CO+ar7uKZT3B0FHWogrT1QjNS87_(6l zYmIuoSSV;d4f2S*Dcq!lrVK^}hI0M-5FpCAiyGt)9d$I#qW}|jl06u}UOzelVK{qK zT3zInD)S1W?SL5>EoKk0DVgAnM{J4t(OJY)LMxk|WD}Q3rWiX@Y~+#g=nP6nK_EZk zsqAScOaP(AqXyx+iI<3Ro3trLg>TOUYnm+@L`fO5!I&9v%5*afc2b{j&~-r5Oq+m{ ziG>?^i2&Dg67hYLw7FXKG&?j#xF`_6u`uYNX(kxxgf`!pqcPLWnm{8BXhn31x8t$M z6H>b^3^aS~y~C}}qT8r1g+0$Ad7dDOw#X*;u(&e~PIOyl{o+M0w_5a6XBv)1qOx~& zMZ-po68hUm)7v5jcLTkTPurGM${U-wjh}#v-e#O52LggMl~2<2D@mYiV6_rrSnVzb z3S^$7*k<@RLA7AI9oHJu1jSFLkGeq3k@W5DreHx2F*H+)X^^s3q1G1LOW}6-6|V>@ zIu%V@T#M=d%`u#>Ky$1%dE5qNx@oheR~DBsEb|+3DYP7pF6rcCti)&&D8(3tANrirEi+HH{(g)>ab}p zeW;%}SU3%B8K}#FRtMHJ3Cn6Np{@2y4nTgsTh1F#jOD^WYREkk$)RY3amwSCbw1uo zkT%QrxJeR~XP+!%vJ$2x^?#imD%bp^X$F}qn`__q+K+-^6%g`TfM=PkJsRL!hH1Vw z%yw-se#=$k29U7vqhMMVXw8;)NU>#uM(F>R52*3?9UuWFCYxzw1$TXI%_}-@=BlvZe)4tlggL!M&lkIO5c0^;@Od^H3P9hUc zN79h)EGLq_z(&sXl#rf0Q$mPbtcbZJ%^>AONi#58bsAnp&agy^@~g;LKW~z9+DugG zp=i>F*_jiGsm?$s0LM6caXB7Q*&~&k?1`wH*JL9SkH`!X(FQUon)ag?!->Vkt^VPa zz0Oi}1^!ND1heHGZY10<*4DA{8?O1z|qpHDhiXSkh3D8 zw#bM<$TSsJrBjo4qexVbOg0^lCbG$RGL6hkr;-s=J5r#Ae12xeSK_Hy6nT({N291z zsDY_i3Uwn0_A@cM63HZDD6nZ%CDgw}B97XHyvtg;19=x;L2hB`DH)GuGOPP(kx~n;}{OoeG&2N)Ae402fG4G#TI>ksy&Om9jvz=vVAEQY}m& zZGvGXE)`AqsgqJVi@-AJ(_$ilV8rvXAZm@%lW5XvUL43Kg0g{R$Hx@kDBZ>Z<^_3d z*;jYgi&%ZFd$qb#5dFKzn5IkXcezz8uNsCYIATFoEbkU8rDBEF#$$!;uZ~x#v~iL3y$Yrs;r4oNv`eylK0%rT+NFrWjBDuZVr~XIatPmsb#L!YPIB* zs%z)HLfz48!DN);i^=c}_!zBX_}$1srXLnt30Y)Y6Rr z4Y3GJIf!vcqu!(e9MIMQ^IMvIy^twA`{+DCO3@YO_&mHe6$fI9Z_##32hq$61I` z_i$g?u0n>}##TbPSBX$yT?H;eu_EK_M!U7QhlQoq2pjxY4o4j< z5iNSy?iUQtTaxYlc567Aj?^3j9qo39)1jJUpzW`q1 zjDgFJt5$!AZy3(QO>9y$E~y4eLCWrhHL-ajU5g%Vebe{UX0a02&CJBRaVI#HhH{&D z*Bq2RXT47SD_VZ+nz&&#ZllBv4?69|M``6Q;NVA?{qtd+*W-}|t`CT6M$LpIE=1~&T%9Q#rVN-mRpNU zCg$onpP8?2x?VPERIZM*GJ-`*^lM`*bdqF97OcF_LYo1f#Hd6>P#zg~#(5WOk_Rgb zL7p2CHewdX_jFlXIm0Ukc$;oS*e}E$3b1I*fvxR|kvtz@BMoWE zf|;dpmQo5c1Lc5VtEHy!ODY0K*Og$=!NOTGLJEaX+#o$F8Hho)Qs=v~C9JZcRjyq6Y5bI4dU833D&mthCT3n#xz(^o*d3M)9&uj|+O7 zvi!9{x`;bYalbCe5HZIox6$xWZz$895Sl~@e|?ZHG+`RfIK~UIx^-pLkGrdsG=Gqe0Z-3x-}Rxw18B6j>IA} zMgeT>Xe@I2Fo2C8jYWC98o(xw#$qk$QG-SMVjCL`kEQG}3pt*$AQ(w|JOB1nK#Q2XWF3M*r9N@gw;*dcW6G6t`7U0K%e8l?>&8H6H z$fQHjyEKsc0~;93PgIzvd}L5%(D6V%<0D0HVXKXg`~J7MY69T|Oa$xzy~oZo{<|D6 z7`gR%gT z?BGkP(FEf)&4nvq99nifB^OJ{4=XN45M$i3gI-8+X{6(`F|GiC@mDJ@wX;FC^2Tcv zfSLglwH%dPtTBGsmq)z|08kUrcPajb?r_u!0z^eY*Hd(ir0A#dISAhdF@jc7DpX{Y zpB`X3CNs? zqya@T68XmXzmzC_&~6Mx5%}^Y((EZ6jQ?^Vg3U?MX-XOYkQBoT0=D6TDW9Gm-zSWJ z*cNuMS|9Kny8te2{*9#(Vp1eOl(pl+gc4aNat1wrvq5T1qQ0SztySlW8HS;Z+#iKB_fb2e_Z zo?APQWx(}%wOOMTEQ&1#)X&-|$6d?eRHax%#ZDd_##&m8#%PD}1Hj3(46$rX>l{_3 z24?%esMs+76@xBeZ%+>m9b#7u(q|g*WIVj8|3=d*Eo3|GRWEg3>_kuYuKB2 zn>EsdbIgo?2MnAUOC{u2Ms#2jqlST>Ny7TbjK7CwsdY?X0!Fqt_sbkyc!jiKTe&Pv>eDP!gZM+`n%iiuii*D4ESB=#2CdYgp+v<6zf@dB#^TgETsF@C z1Mr&_)YiOL%hhvbS|faPGRcR%LwtfGll!L-QT3&PhHurwww}{yV&*)NUSw2fbU46t zg}nS9#s%r%Iz}+#MYD}hoK&&={J04A53!s-DMJOS-Oa!y(IT682``5uOJP(XJW+R0ZlqGdJROxh{A2tZ zGhWfH;zLc(tv2gxVx=RE(O?2@>L7*J&|Y{W6hy2tN&?k-qRgZg_&bpFYm$H#k@0sT z>~F1LupQDtFn=_Jtrf{d=qVFI;AvkDp=XQ~>HM*fx9Va&N;LfqqWrkemwP;UqP}~A z3gUZwA}w^k7x7RFXpG(k@mUb5zUdeU_*}@Ntvf{m;U|1W)U;v;5)Eny?T&353w;T? zY&S9f6$p~{2H;;aT;Wv~qC6CEDy{JP>r@bIe9I~P4ub`PK0(zqtcaM9|H?vGJrG#U z6g{>t=y~Ryg}#4WFXM0LFcf>-#fmt0MXRmvAQGLS6SR0Nog(TxiHa$Jq{gB+8j*>o z5@{4WIv(;aV#^JGD9XlS@i-3I#8a7MBArfVB55q~OXO23#@t2hl;QNk(>gj3C^C?q z(Q$#~$An^`BLRJC6etm#&JBulqZm|(Q@HODBzY)M&;<3pf=UU3GD6B<6T2VJ3YI*g zV6l7%Fz+K%%n3_)O2%5OppyD5;z1 zwvP8-SZozBv31P9BFs{UECbH{Rl}i}BulG zk=h>pI9Vi4g$Did2}749N-AdjlR}$1Mk-9yoKKMiZC8$Y@zaJbHAy2F|3jfk2!LVR z^ru|!vMW`}K8!kij#Q=$Vf-`PKAbMoV#NL|z#NnO9GLQ$zA(aQ{34evKG}d7$d_~w z;<8y_{4Z#21_xOs;wvg-0lq>%xb5)2t@G30pV~P z`1b-BAYy3HWc*tMhPQn%=yX{5+d^WTBPKXM7=jGti4w9kF#ba!$|j4ga!rEKXPuNi zWgSOx{4M6$nY-rrEAa)d{%G0D=NdWMU3bL}bYxa?eagxVc9Z4YjXL0*>Yk`$L~vCF z>4E^!Ev_ko8hrqQB?j5^qW2Ty6K8?{4kkQOL<~><4T2)$F}Q}rzvU`~_us|)C0BFF zf`7*`ToGslKB@zF$Nbut!^B!?1P4=U8V>k`Pa3W@Q2D)aA|(HPK+*#Lz6I994*mzQ zKn!D4+GrH>DK7Fs#*Of&rJxuvea5%}gOINyARHxyr;J%9$0^Uuhye{uCVbKjk#qATJyT-|kzf#TVF61!9!9)Uu2^%^%3Pb@97f*Ee zM%|uPgS9EIh?z<*PXpxv-ZwElrsXFhZ=!-ma2gl;2BH*tbR9*dO11bg5O6+5Qy}~} zC{DeuDbVpGzO1D|j~KlOQCgrvsShv4QZ!EfabBp_oQfh5H4~$klx?s(0~FH zPSP=@k8;;>a2_iN#p|3U2j z;mG3q?kB)E2+$b}EP$UI0E9k>aWW?NJJ;y=P`B?5I`CXv`V5q?=<0Q{`i}|LTQE8 zj@GvTqof!GP*HuXClvvp@wWcO=xI7e`e_TleSLx0={N-b&=MHljKCjR0#~mu5Is#r z|Br2f8`?w?e_~7A&?u7lGfQIFyS`QN({v*GvzElw8;ejRe~nELoZi8KRrGNMtWy^2 z=Uu8F*ri2p`Zpnvocg6{peG~E(_sRAHH2>@+#G!=KSkG*Q;1UTZ$nsrJyMLcPZ4FI zZzGjQ)s44fIys#e#@@#W7cWt_A=j>sswyn>AE8B+M;7|bkt&fzNAhmIDt^|F%-bJc zZDT!C=Jid~#i4>)74dVvx?n}zA9}hj%2;G&{Jf7x^i%3%z$95AzYvs}QvL%%vQqwe zP-sdOm?HGWpwN`M84!|{^GjnwH@1&z!k5RSZfqc=LSKc{^a961f9q>x{GT7&?)0~@ z4uv+FR<8?7%jd*3RAH>_ijE65`~pCOL4R;GtX^Njxw$hZ<=_#^j|F^6MuW98;+}_G zy`H;7{Z*8@aN5>!a%JkVQZy1(K_AKZS)4R#;HnR?D2cafg`^+IU&3BWkPIbG*(q1i z7+By5amF7~n@M$AL3DA&g;0x=x@*NEDKAauH`iP;v_6#^o=Wu~gY8r7VbpVCV}$zc zE0j{)JR&aFfO$BhO+!NZ+HRJo=u|1zx;*j$UCEKfsNBJ>f#Y3ra8*aOP@wLgc48U7 z-|#BU@+uB$3gL3K(%8tu%lKyQ>{JA)3)2T%4;;yUb+rNroRKpSq1P)nOO0Z!RK&__ zwT=}aoKZ6f(o2HMN=gR$_$H2$hcj7hXBKE;LgO(SLE^|3oukIy=R@*h4}4t$SpZyY ziWG6kR)E|vKHU;uE|nyVzJV)ZiwD}}w{w(bl`$Sg>wjGb71$mhgJ9f&?MUf3%9c;g zP`<#pV!2sXbR2q^y_~P#6O~mK&Lk3Y#AI;|vjSGZEm$E&H)L`C_qU$Jlj9wy z;BmTl@?t>NzVD1^l+LI-510bc@%FaQ-RoXCv(s)%Y&>>G+yG=`m`W4!&Awg`af-q3 zXl0kKE)wHY`3fLibTvc>*K19a-X)8TG%iGvZKo8Moga>g%HXwltaZ?p@58M}wzeKI zENIy3Y=Z?2c*h=xe1`#R{oZz$f^>lyn-e!L&Af`Aoj)^w=G@tHXMgA1*-wRVD4gG9 zhB1AIn@-OS?;g{N{frj3e_=8GzVKqX+gsmU=?`|o2rmnNW6CA3h{Od}WHWyJ@jByA z%=0@>%+9_Q9-}*?=#OrYq8q?i?$-IYgjP?^?fxDRlJ|We(_Nal49w@R`uxiv(_Nr+ zgPD=9`1~h8-oPJjwDS2?$(LGh17m^xJf6q#cZ~fqo-Y!#58_F33+yR49Jh_(?d#_4 zFOe0J7J{wvZOgp94VP<4eb3=da=&b7|HaV03kj3BWxPq;WkaJ>pA_-lj;F*?36S<> z;X_FaEA9)~gXZn^=Iu@9ZADxOi6DO8`M-?O{f>-n(G;Z3PbrZ!|DFmNmY48!ew>9(A}|m2JoQjFVc3;1@u3Q;(uA0!G z)!XR|b#TAc9vCD|HZ%iQf3lSU-35I2-@+JR XAoB(tQZSAiHg5m_J@Nkll9Igp diff --git a/Debug/src/appHandshake/appHandEXIDatatypesDecoder.d b/Debug/src/appHandshake/appHandEXIDatatypesDecoder.d deleted file mode 100644 index 4b0ad46..0000000 --- a/Debug/src/appHandshake/appHandEXIDatatypesDecoder.d +++ /dev/null @@ -1,25 +0,0 @@ -src/appHandshake/appHandEXIDatatypesDecoder.d: \ - ../src/appHandshake/appHandEXIDatatypesDecoder.c \ - ../src/appHandshake/appHandEXIDatatypesDecoder.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/appHandshake/appHandEXIDatatypes.h \ - ../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \ - ../src/codec/EXITypes.h ../src/codec/EXIHeaderDecoder.h \ - ../src/codec/ErrorCodes.h - -../src/appHandshake/appHandEXIDatatypesDecoder.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/appHandshake/appHandEXIDatatypes.h: - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIHeaderDecoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/appHandshake/appHandEXIDatatypesDecoder.o b/Debug/src/appHandshake/appHandEXIDatatypesDecoder.o deleted file mode 100644 index c3daef7bbcafa0d2c412e2887ca73bf29a514adb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37810 zcmeHwd3;=Dx&JvclQc9fVP9l%XbYs!q_br*ffkr#Ch5@0Oqiu

jx*Njj1yVKQmU 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 diff --git a/Debug/src/appHandshake/appHandEXIDatatypesEncoder.d b/Debug/src/appHandshake/appHandEXIDatatypesEncoder.d deleted file mode 100644 index 04daf4f..0000000 --- a/Debug/src/appHandshake/appHandEXIDatatypesEncoder.d +++ /dev/null @@ -1,22 +0,0 @@ -src/appHandshake/appHandEXIDatatypesEncoder.d: \ - ../src/appHandshake/appHandEXIDatatypesEncoder.c \ - ../src/appHandshake/appHandEXIDatatypesEncoder.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/appHandshake/appHandEXIDatatypes.h \ - ../src/codec/EncoderChannel.h ../src/codec/EXITypes.h \ - ../src/codec/EXIHeaderEncoder.h ../src/codec/ErrorCodes.h - -../src/appHandshake/appHandEXIDatatypesEncoder.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/appHandshake/appHandEXIDatatypes.h: - -../src/codec/EncoderChannel.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIHeaderEncoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/appHandshake/appHandEXIDatatypesEncoder.o b/Debug/src/appHandshake/appHandEXIDatatypesEncoder.o deleted file mode 100644 index af36e6f906937333d415fc820638b4e10be05a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35040 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 diff --git a/Debug/src/codec/ByteStream.d b/Debug/src/codec/ByteStream.d deleted file mode 100644 index 4a0f46e..0000000 --- a/Debug/src/codec/ByteStream.d +++ /dev/null @@ -1,8 +0,0 @@ -src/codec/ByteStream.d: ../src/codec/ByteStream.c ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/codec/ErrorCodes.h - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/codec/ByteStream.o b/Debug/src/codec/ByteStream.o deleted file mode 100644 index 88e4f5b17fe892e0fef5adbbaae4ec97ef5d76ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23863 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

nU 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 ULSgJ&hhLEEj=Ze*|KE)N1>MBhwEzGB diff --git a/Debug/src/codec/DecoderChannel.d b/Debug/src/codec/DecoderChannel.d deleted file mode 100644 index c6325c2..0000000 --- a/Debug/src/codec/DecoderChannel.d +++ /dev/null @@ -1,19 +0,0 @@ -src/codec/DecoderChannel.d: ../src/codec/DecoderChannel.c \ - ../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/codec/BitInputStream.h ../src/codec/MethodsBag.h \ - ../src/codec/ErrorCodes.h - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/BitInputStream.h: - -../src/codec/MethodsBag.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/codec/DecoderChannel.o b/Debug/src/codec/DecoderChannel.o deleted file mode 100644 index 6ae498d4891841376304fe30010bf73a74273dc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40071 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

OtQU8_l+sYQB^=TU)78^!jBXnbtib^`J_ z%8!v+(3PsxN|owSsasU)L6v$@rS_?m9|e~3RBEM4mGN6*Q3QNGKCEfodd`NoL*Tl^ z7wu2^Pt&pzqH8#8g7x`6w*koSP5})J!smYc(feSCOF*6hgx*PGLtY1j-kf7Y{u>Z_ zjgJkP0gdzyAsaFm5PCn84T%6kFNm@sb%4-|s%%IKkke*6A)SEG%e!ov5kTmTVm9Pv zK77%(VpbhyeAoPYp z8$!E%dOf0m$k*9u^gc$L<`mG->mO|htqJJ;lLAtf#Y!K3rVkXLPU(Fkm^d7tGJe;g z08s7atM{@E!^0K}w-z1KM$V^f$QFc3gdFO3sFj{w{mN9pgDPiq@hxKbt4ze z`P(E7rajP{otNf|lBS4hu7E4?#-5zd*CmanQE&Pla%G+Lo^4$H=^C`s?He}W?OQ50 z)IQLSH(g4?{`QU`MM>9%ECjZJny99QTeoi2$}&ABUayL`ahk5To#NMq9A!)Ayx#Qx z3XDx|ss!`^NIq(Rdx9`NxW^21du9GehF~M6mL3| zXbh_SGDVq1EDv`c`DKnSh$W4-+w$ed67PPOrv%oCH-}m|euJsZ#H^R6T1fdGSeecD SM%w=mO$QOoPI~K{_J066vAF*L diff --git a/Debug/src/codec/EXIHeaderDecoder.d b/Debug/src/codec/EXIHeaderDecoder.d deleted file mode 100644 index 5530267..0000000 --- a/Debug/src/codec/EXIHeaderDecoder.d +++ /dev/null @@ -1,19 +0,0 @@ -src/codec/EXIHeaderDecoder.d: ../src/codec/EXIHeaderDecoder.c \ - ../src/codec/EXIHeaderDecoder.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/codec/BitInputStream.h \ - ../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \ - ../src/codec/ErrorCodes.h - -../src/codec/EXIHeaderDecoder.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/BitInputStream.h: - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/codec/EXIHeaderDecoder.o b/Debug/src/codec/EXIHeaderDecoder.o deleted file mode 100644 index 1291f27ad3a4b2b9e699b7b0895bca8d3e95b320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23538 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 diff --git a/Debug/src/codec/EXIHeaderEncoder.d b/Debug/src/codec/EXIHeaderEncoder.d deleted file mode 100644 index 47032b6..0000000 --- a/Debug/src/codec/EXIHeaderEncoder.d +++ /dev/null @@ -1,14 +0,0 @@ -src/codec/EXIHeaderEncoder.d: ../src/codec/EXIHeaderEncoder.c \ - ../src/codec/EXIHeaderEncoder.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/codec/BitOutputStream.h \ - ../src/codec/EncoderChannel.h - -../src/codec/EXIHeaderEncoder.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/BitOutputStream.h: - -../src/codec/EncoderChannel.h: diff --git a/Debug/src/codec/EXIHeaderEncoder.o b/Debug/src/codec/EXIHeaderEncoder.o deleted file mode 100644 index 64c88913b89ca398adb91faf6ff869a0d4c81264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20944 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 diff --git a/Debug/src/codec/EncoderChannel.d b/Debug/src/codec/EncoderChannel.d deleted file mode 100644 index f617de8..0000000 --- a/Debug/src/codec/EncoderChannel.d +++ /dev/null @@ -1,19 +0,0 @@ -src/codec/EncoderChannel.d: ../src/codec/EncoderChannel.c \ - ../src/codec/EncoderChannel.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/codec/EXIOptions.h \ - ../src/codec/BitOutputStream.h ../src/codec/ErrorCodes.h \ - ../src/codec/MethodsBag.h - -../src/codec/EncoderChannel.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/EXIOptions.h: - -../src/codec/BitOutputStream.h: - -../src/codec/ErrorCodes.h: - -../src/codec/MethodsBag.h: diff --git a/Debug/src/codec/EncoderChannel.o b/Debug/src/codec/EncoderChannel.o deleted file mode 100644 index 9f74eb44e0594fa2091c012704ccb85c64e89c2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35111 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 IZ9T31A7EI;?f?J) diff --git a/Debug/src/codec/MethodsBag.d b/Debug/src/codec/MethodsBag.d deleted file mode 100644 index 75528c4..0000000 --- a/Debug/src/codec/MethodsBag.d +++ /dev/null @@ -1,6 +0,0 @@ -src/codec/MethodsBag.d: ../src/codec/MethodsBag.c \ - ../src/codec/MethodsBag.h ../src/codec/ErrorCodes.h - -../src/codec/MethodsBag.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/codec/MethodsBag.o b/Debug/src/codec/MethodsBag.o deleted file mode 100644 index 9d1bf4981766dbeceb18b0b1de1c018d83a3c279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20750 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 CDkxn5 diff --git a/Debug/src/codec/subdir.mk b/Debug/src/codec/subdir.mk deleted file mode 100644 index c928ebb..0000000 --- a/Debug/src/codec/subdir.mk +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/codec/BitInputStream.c \ -../src/codec/BitOutputStream.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 - -OBJS += \ -./src/codec/BitInputStream.o \ -./src/codec/BitOutputStream.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 - -C_DEPS += \ -./src/codec/BitInputStream.d \ -./src/codec/BitOutputStream.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 - - -# Each subdirectory must supply rules for building sources it contributes -src/codec/%.o: ../src/codec/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -std=c99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - diff --git a/Debug/src/din/dinEXIDatatypes.d b/Debug/src/din/dinEXIDatatypes.d deleted file mode 100644 index 602d37c..0000000 --- a/Debug/src/din/dinEXIDatatypes.d +++ /dev/null @@ -1,9 +0,0 @@ -src/din/dinEXIDatatypes.d: ../src/din/dinEXIDatatypes.c \ - ../src/din/dinEXIDatatypes.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h - -../src/din/dinEXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: diff --git a/Debug/src/din/dinEXIDatatypes.o b/Debug/src/din/dinEXIDatatypes.o deleted file mode 100644 index 3802aa16b5f779a735390d2458349b1b7d3055e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114282 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 diff --git a/Debug/src/din/dinEXIDatatypesDecoder.d b/Debug/src/din/dinEXIDatatypesDecoder.d deleted file mode 100644 index ad5cf45..0000000 --- a/Debug/src/din/dinEXIDatatypesDecoder.d +++ /dev/null @@ -1,24 +0,0 @@ -src/din/dinEXIDatatypesDecoder.d: ../src/din/dinEXIDatatypesDecoder.c \ - ../src/din/dinEXIDatatypesDecoder.h ../src/din/dinEXIDatatypes.h \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \ - ../src/codec/EXITypes.h ../src/codec/EXIHeaderDecoder.h \ - ../src/codec/ErrorCodes.h - -../src/din/dinEXIDatatypesDecoder.h: - -../src/din/dinEXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIHeaderDecoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/din/dinEXIDatatypesDecoder.o b/Debug/src/din/dinEXIDatatypesDecoder.o deleted file mode 100644 index 36e2972456cbee78fc3ce1cbff3cd2a0bc76e123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370475 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
OKr#RwN8Y(e-Q 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 R8sPrJ43i$+03=hM{{mz|pauW{ diff --git a/Debug/src/din/dinEXIDatatypesEncoder.d b/Debug/src/din/dinEXIDatatypesEncoder.d deleted file mode 100644 index e5d249b..0000000 --- a/Debug/src/din/dinEXIDatatypesEncoder.d +++ /dev/null @@ -1,21 +0,0 @@ -src/din/dinEXIDatatypesEncoder.d: ../src/din/dinEXIDatatypesEncoder.c \ - ../src/din/dinEXIDatatypesEncoder.h ../src/din/dinEXIDatatypes.h \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/codec/EncoderChannel.h ../src/codec/EXITypes.h \ - ../src/codec/EXIHeaderEncoder.h ../src/codec/ErrorCodes.h - -../src/din/dinEXIDatatypesEncoder.h: - -../src/din/dinEXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/EncoderChannel.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIHeaderEncoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/din/dinEXIDatatypesEncoder.o b/Debug/src/din/dinEXIDatatypesEncoder.o deleted file mode 100644 index 92c641abe0274a930bb9995fd4a827efd97ab5aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330575 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

O6Yg^i1 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 OJ)o_Bkbjt;>Hh#f493&| diff --git a/Debug/src/din/subdir.mk b/Debug/src/din/subdir.mk deleted file mode 100644 index 517ad2a..0000000 --- a/Debug/src/din/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# 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/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -std=c99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - diff --git a/Debug/src/iso1/iso1EXIDatatypes.d b/Debug/src/iso1/iso1EXIDatatypes.d deleted file mode 100644 index 50193ac..0000000 --- a/Debug/src/iso1/iso1EXIDatatypes.d +++ /dev/null @@ -1,9 +0,0 @@ -src/iso1/iso1EXIDatatypes.d: ../src/iso1/iso1EXIDatatypes.c \ - ../src/iso1/iso1EXIDatatypes.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h - -../src/iso1/iso1EXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: diff --git a/Debug/src/iso1/iso1EXIDatatypes.o b/Debug/src/iso1/iso1EXIDatatypes.o deleted file mode 100644 index 05851d1d68ea8a9057abeabccbd09b16fc18fd2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116241 zcmce<34B%6)joXAxi{zD8v=qL_hz_B^g=`h%m~3c5J-SX2r*$&(GbH0A|Z(x5EK=~ zI#pY=sHj+N9g0?~b+!(*Vij9dw6@N59;KWa846-j@FGfTyWO z@k0}j>**Pg5dhYM?!fZ?;7gkgqi%v>Y+b1epKTk)RAczG14}0LBfP>gjC~*N2PwL; z;(lNuo*v$A7?<3rN04rE|8n0? z8OCcA35cCQ{&?^W*uOI}yf)MlyLeR^D7CU+|q4ZJ^^a?`ID+ocaAOyXF5cCQ{&?^W* zFAqA#(TfSCmx7>I5Q1Jo2zmt}=oN&ZR}g|;K?r(z(6NqQOenn+1igX~^a?`ID+oca zAOyXF5cCQ{(946G9le-PdMOBc1tI7agrHXtf?h!gdIcfq6@;Ld2Q6{*VnXSqAm|l@ zpjQxrUO@g2tm~# z1XY6&RP`Xv#-f)uEh`9m1tIA5Js_wWq=KqJ2&x7ls2YTzst0j`7FE5O`u_xiK|w|s z6ojDt{~83dgR)?D5Q5o32xfZ_=YKKVTL=^cgMttY3PLa_2tltP1ik*(AQ%*s1%o_@ z3x^owtsn}5K|u%x1tAy|gkVq*fz&?^W*uOI}yJctg$hBrXv zc?wDvRQ(=Q(B7j`jL<#^L3vI{~ZLgJ;vpZ z*-R+26$I_S2LywHR4^zA!Jr@ngMttY3PMoTgH|}IGNDve5L699&?^W*uOI}yf)Mly zLeMJ+L9ZaxkE+d4l?kP)f}m;;f~r9Xss2vxlj z6%`EfsCEf~@q19gpdb|t3PLa_2*IEr1cN-N!!d{nWza4m7!;&}_TK}7_8yh;YN3SZ z=&BN7kVmB;7!-tHkOwJQU<}HFc#o>nv5^U7qk>>i5Q0HL2-J0%N2MSb_qf!tI3PLa_2*Dr^>UQ*E zLTRrcXdi^2Y7l~|K?r&UA?W2nocX0Dyd{8{8{UAb9+m2aP}SQj(A(Vb2E==Ar>Y$E zRj+cCEHHYq2B8`R>T&d9Le+$VP!mB2H4%hR6F~^71|if$5Q5nrL^oAz^!!z3N|3~( z>UC6QLaC}CsOmx7T*^Yh1mZkSBzZV%f4E}XiL*s%3?_Uu8xuIElnf>`EsjwYEfRj( z9gYwt6zx(ReF`lTfR;VBeybe+`uXZ`LMuc}D86|P#Ds#n9Eb@&dq3S3?X!+1OepAi z2Vz1&uQ?DC3i`x>m{8C|P7N@j%JrAN)!|^mm(dWWNe$tF95)Tq<}%@Opk`KF01+O7 z6W&2;blq^x&BOrV4OvoZRv-hytMfeJZlQbJ)eseis1F)YD!AXv3Ua#)$bD_sxhP?j zlrYL=7~HPcPyh)xGU2D)=wvXVn&kU6?|Tj-6Ml)oT7?DUVxaL8ITfi2+%!@v$Ap5m zI1m#Gdc=X4P*C+K&B%mLhkoK4@}!3Hgr%We9?Jd1x+|&t@sdAYJAyq!N1*>?7SqCKPnFV*nEh+Uh_|xB_AS5+{QR zMf-?jEE5VE7uJO^p`Z_OeMHJ-LO~6vTY;ER&>iT20x{v1i-tJ|f_w-xIma=C3B|q1 zQH}|Jm8tB0HL9SO9U)A(V|5F36~vqtVcNx z^4%JOft^aEBK-+wN+(^7!R4gC$@bEllU{mfftS9zP^V#B*WOw?Cj8oMMGN{6%v$}% zoSwqO#D)f%+|Z!xy$5Vk1x)zua;2l#;V?yrm{5GLIS>;rElhonijW9tu7^%K52MFP zua`cdXx_-sILf)z>1s^4LXi=5N@K#!Knd%mGF=3uYn=9HLg}g?_!L11?oSYc`xAuV z{sbYoKS2oYPY^oI53P0dVnXSqAm|l@pjQxrUO@!mr90q77q|D%#&r z57m-Wtsd&+p-w$4k%uMfp-UdR{4#evUnYb&0ZvpEmz(~|^s5&xyTZH7}uSw$Q;pt`(cIPBZG@j?8V{|g zpzvR)ZaAa)xR#!@5&kQ)q8ZK0+FOM@9?FGGf%x2!Ff)Pnqd8 zZOuKs-EAGqrI?o1-gGyt%Gkp^1YA})LNnPzj3Kv=2Dg3GLtx9=0gu^UOcG=03%L7l zAH!M*n+0KG*bY1WI%$5rH}GXl8d=X_U9^|SL9^Y6tOE2Y{@>$#{8eHMUt-$Fk3#3q zx+w~(l}s8V<_<-=ogBxSM&uSbhgq`aA{WtZ8bRmtNJC?r!Pr>rU5ptY|x~t=BMjC0Mi7ENEKMwyd|I zv!|`Mt+T_hzJq=`I>GWZ^y}zIxAt~+*LAk8oYB(Pjvn|OoHYxm;+&TDWqlp3Qdamo zIHW9eiRpda-RX|rrESZWrI~1JX*V*yC+~vJ_FhasbNhPdE^BP*Se`cQU2!(1d(z#j z(@UGHjL3J=Of#b2Ni*Gu?TSX%zGGq2+MeF@s@jg$&Q)D4y=b`hw%)Zy=B~KwJ2_z* zLooXc+G`B^40bl%zs{^euNP5h?3(({-nM0Jtth3lL-nxEj`Z&Gn|eFD96fb+8dOeW zx<0)e!bLI`chPMyO2a;98+yFf?!1K1{c#y{%_Oda2fL5J}B*+m~wk!#mrsOz56I80qwMx2~gf&6=(@kTi8-Xs8Z8fI&5- zp*r&}a+{mdC-kK|TGKMPb?4nRZTIT7)^u%kZO7`C_BKo^gIAC4L-RXUc66TDp^ejB z_d8@arQ0!jQFl%esx$A3tD$A>DvY}UT&jETifceMF4aAHR}4*9zh&}LwKQb6X4iN6 zSy=`^6do9LsRaaMg8wwh+TdsL6-IzEB zwB4S&WpW05Lw6^g0H+2;9iM@${)!p8X23T6vJ8wl>4<|Mw z@qM`))2lmI!lG<7D+ULEVPDsRIeJJY0*scu^?b~TStAjDv~Q&2fs9$1K@^3fjHdM&WR8R$?*_+mB77Byn%HEB9u|KG;8m?HxzE8Bgd8 z+7z~*?sYSsQ5jI^#fu4w#xMC4dRc3{r~TSpBoG(vbta80anar&!EoiFJqlQyx;?N& zB1Za_{d^Q|oEY#53pIw8VAEy)O;^>9tatXo-Lt;dd(Pirv2f5;8r?) z#H98k|G^^HD?f4yU@5Y|7&guR{3tSrj$bgTb^MYHQzL)IZY`HB6(mw+;4 z4AoW}_QzD&$hw9e?x&}K@tmPg!1J{~)0%C}nhVqHf3f6?hR&qYU+Ju8v+DQ8(x^jBI+?Lrhkb zkt0o*Wop%TWY1|^B`&jJj}QxX<~m4oThII+j6Qo$hkA>dR|98jDJCn!j*Br@o4F3; z(kC4Hb}O%{{z$`4icMWsavxT3zLSleeLi*%Mdo}c8JBk7*OdK3fppGsVhuJBq&mPn z*`*rqr<&kUC3a%$KV;cs%o}JlX0^Wdz8=HgPb$GE;48xRL@5kg`oeqBZNqk{`3S{+ zg$;>aZqlhT*qR5M?-7>PJj7qahw2)pO4H0?IA&FfPxq@-?W%MI=9yy4KFFK_N@<6~ zq(I#cQ=O{V5tpq`jTHN&k-tyKt~c9V>2oD*sA_2t>4hORB2EF3?5he;o9AWObIfbV zb_*=AkC3!cu#?s`3LB2TBGlz}{4XOfWF$g`h5^pm=2PT6e=iU>nUrf7d#kaAG~pU}VU8=S4Sr?Xx51amq&+OY7VmaE`yiOP6Y$pXwAp)#+v)j`5YOGyGH={8VR~ z(_E@^{8Z=qsm?c7xKtPTsebIIy2$*oOZ8Jf)h0jHX7di0>M}povr>gJG{RZ-m80@T4LrMVc4fiogHT;e~b8xeVUW`h?O_fu+NmLdeln( zm6Pocoy>9JJS+p}Ne%5E&O6+&eJy|piK z@*AQB)Aj*yg_zzLO~$xPZ*j75KCY*QtIQEt_GP4S0)Ru_%587Qa@oAkXzNfL-(6D7 z?O2Ze?sDJGJs?68G%svH1gK;A3WBkXFzjojwhRA(#tGZk zo3o*AT>QXan#!%iGIWdCNm!PlTm8$>Z=~(E8>2JrJI$YxMwZXJByGfH`Mg_bqH3AA z1~f9?M~uXUaCmo`_RVGnDo+-r+oX8CDBbSV=8kwaEB_u*;>q|iSP|{tnhfSWpYsXi z+4nh=FUK#WL;ZkB|Lip`pno*?gK(w!pZuEd(3&Ssz!+>8YCmjlBH{hye?+>fksP)s z9{%76zb97Eh2CgCCLX|VW63`H_}iWAby>>EctXrspQW6PC!K6uHGn#QHSclNdCsrS z^G-$P*)N+Pvpzb~%Q5d_p0)p`8X{XhabmwE+2L&LZ4LV!^OvZagsR*Bf=%jnq*3?| zD(OA@S#w`_%JD0x=nG`CZXthto?xFxP@kdTA^7a_C4pAR*m!Ub=f#8}{~2 zplL9ghL%1=qD|G$1|cx)k3^ZmjTkpk`xEo`)T|bbXn!WQ8}Zd}ChgBn#=F8se$=$T zG2bPTbh~dQZ4`(v`yb)J>5)W%{{|jDijHr%j8_b<|82!uPN(OZ%w9P1V2=iv^A{RRc$z?AJ_V^oMrBx{N}_ z?a7w35f`^7M@oOsh_IDz0F7v@rvH5FDKg2>DX@H=XQ43B^E}S9lhzlm=)EPaJ*s_# z3ch57ax*Zhv~1Kyk+mP5Rc-9+uZ?lKHb(EX$69kpBRcOVX|41ALbJn&Q06h7TrNfv ztqo)noe%WuT`B(EuI$Nv*_D3T6;?*BqxKX@YuN|6 zvMF~j5P9`+h&6>w(xndd*T-SPwB1MyMdRLK+oP@9N%%3g?sl%lo?>J#swke)G`rTY zQ_^4`7Tm}A-~g%O2CLv2_M|eYm%>mUiKjQ#8TJpvnlr+x_e`~@&|4X*_f$E(2bW>= zicxJHg9S~-A_Llps7%MmTi)5dR>oq@0*SV8P1rS&O#K~c=lozWIgF%8yvqxcXdiMg z>bbouaB3h6ixE;|d=N6ju9aHTmdv)Ebu8&pA;`I1Zrs`_Ut2Mdpk@sm)sB{S9ldm> zmH~u@U2mO&a&(~$Rw!S~92i}a8myY$%muhT-Q2YTr)SNro!!pFwrh^w72WB649YX# z1p^#Dk*bbkc1?tDTctae!p~5_>0J}zWZ}3@B~!WGyC&`HXhX2t$j~ePfCwAwz_1ru zpP|n3!=~MA)uF=Fh*%y05~JasWtsNT)+OY8mm9TXEbh#V z__r8w_HkAbGQ!EbxNNsNT^!fCIH|9)?sv=UusFf%@;aqFOzN1nx~^ zbcvmY8ozy_J{AXwA*^tq0)DBe^*qej(>~k!C8fwDd5$IVF69%QE5#2t z3NJwMh4u#PWzxy+|A&_B{^JtVI#1LH$2Y>CvCo%vDZ%>LWEq8EkZJ5$`Hj;mxZYHVvuZfDcUoh}`7nZ=_T3h}9mCis%YM+B0XX$vcuV&0 ztztNnsn6&FY_k}}H3~n2J2>3F&pHWIV<^GMdDKMyV@?TKIV-t0*{+}Svy9PE`zh;Z zAXOE=Q_|WMep>9YmAgiBr4BNT!u3!nYCmD^0G5p@emY}_&q%TE%=Q=SBrGtpFd!JA zHsy8c)#-Mb)tngrE(ug9Urk$s@GorX?%<-LrmR5-{Kv$DWY>2#*UqVi<0d=afdq#A zl32$n;0^0{utc@@oBk=_EvX+h1-xs$=@Px??-cJlo#HxF+ViIUnw5{en;NQbTbF@J zcZv_B7-y*d-Dxu1$|)R)M$WQ7wibdD^{s*}_NSKYc;crcBxnEA;=z76ej}adFRTY4 zHtH-gUs)f3QTfZAJ-xHrI+jW!bf?)YtJ4j*S(9!^;}#5#D{yE%2x()wBYh&zyk;VS zLx1ejdWX&Scr>(o{;wtA}j!j4=_7zF>N#SJ5tKoMo4AGufQ^5M?)cG zgmd!IB6cjK9p-c5hgx_Z5~4$MetbhA9)^oX8wZZZp=MzQwD5E}rOqNrC+ z=xtZ8T)$p_bCegUZV3V2vK;m>4z+ z?*e<4Jv}swe6sVZ(R{M=ni-OvS9arc%ssWz5>cb@a(Js@drqj8OcEEUmn?**^X&Pd zvkA*=zd+J@d0i-iu`i`Fb}49_iSArD(s_1M=r;1L!)#|S645X#w~!?*4n5(Pbc`;k z@DhoUw}jqfmaLMkAr&L%bh0uuY+vBAe6)vr9>prrLQN-Kp;DLVgphAr*eyhG{J+9L z$8^#bT17%x`8%XUJ)QJOG0t?->r^bJ6D-K5gf4W&pXwKXnidb5GeUQ|G#mUhXL>Z} zgkErI&h^ur=cqXo)zog;Cx^<%VeZ25@N)S1_IlA;E#W^DU3Mhph~+Ft&&_)K`XkX| zi(V?vcd~KqP!EBhgx-Q=83OPndz;q6^;B!jioxMky3Yrwd-PfofUC5#8-N$+cya(< zsBc>YVK`c9=Iftf*q2JZ(EYh8G-yE;M2>loJXe58nspcA|o|l*fr!lOwRkTC+ z@+%I48=P!}FXgD}*P_;TeN=Uelf5ZqjNWYD6Z(&<&b^X0)U^IvQD>9#*oW<}hus*X zuoE-zt@a(ECSYm+-K7Rld`bkx-zREoH}ioI!yi}YT#R>B><68ax3ZT%8aj~zq#hpg z*TZ&Q4?Hm15xSB@QtwZMczC1_jGh!C92g~9A$t9A`;pM+pcJ?BaZyc2{{H9`xlH^zR{S+K&Z{9F<_tIT-^#Mz3AIz4%yI8ZT6?tbiEO-97~%T4 z4n#7^A+Y%twnE^1E3^e*c9Yu08}|F67-qT`Q0JBQN1a{=fRC}0f=I1i)56_7Y!NV6$W?p1cG~i+de58v}6Iu4Rp<~FmmEx^1HHHB@GMQzEFJ{(Uu-nn_ zgUrdEj~TRP#J%j zA)sP;sE(J0@K7ob4LSd1^OecLCESn2@jcjIDw20l^|Z-I{1^q_W7>y=Pn(E5vG*`-uZ-zxF)*yc#87Kb(d7<2Blp3tb*eO+T~oEHvkwQ>_VvOWjW@D`Zk2~o@%tEqx=|hq+f(6#h`yH--P+k&+dcQL;@&iJrnAaWeH3{-`vUp28nslY4*T_Ry-V|k zpXN=E=G}0&OY@$e=6y{=m+Q0eW)jKL|Ie_`<@#KR7;)-E`!9;xFN6;+(@X!~#3a4+ zzv@`LBYS=$BJFR9`a6?*?+LTsb~14RNQE&!5Y4YPlQ(c;`@56hZWTPhsraKXdoM2h zL^xvp;biA!6uiM|`XtOfK_Q;dn)VlB;a9d%xBxn?xBn+Rz8uC#SN>XeW$C@&O6_LF z>xYBuzpAQpb{66R7r@YYG24%cuVDdJ2G^2tIi2jDAt$puK8@C7NM>cunP^zsb~3Bu z(`ZUGgA?tnoKtze8FMo0;@fG+5Xo$a|C8&+P!TgPr+_QUFo$wU{9?|~!zFWR&aXIF zMmU*WYDkWh%wAN0#VA)iqnGv;vxMvn1~`oD7Cq>4GdL>4@iLCyWCqvzXwC|bvwTNr zmQh$e40D9NPsY7&y^YCGQ-Ii1Bx+|VoA!11hAW%)lgv@klc_W>aBb@T_ z5@2FVj2ZU)jJioq`3wE!AL%du=zirN)35yIe&x65@{Pi5ECX3~I%7HI%XnC>+LfNl z4>Nv5SX%3>44R^F|syXl0gs3h+j{OH;Y19%4@q^9MqQ*{YbYI3j zu15F!HF`j61e&KZUUq4A`e~llG>L_1^ha>7Ib-V-lwZ$x*6asG86$ohC*_Bv%6H_< zPT=A9jygNzA&#AGGJQRrGmOLP5hwH6coUobQ5j}`%{h&u^D!s$`S@eZd^}@cz%S?Q zONZuIX+*UxSr3W86WyRsJRwWW=K!OK(asI|`nr zes5>c?fwK@Nwnpy!|eAnP63yiy#B5S=k5D|@}msy3B&OUvVELE=X!X-R1{@@n!!Eq zb~Cvr``~AeQ8x`U3ctX37-N5#ahogiEB}E1w|~HYqx*G!b)KDJKTi(ni?*b7UyR_I zFZx`b5nN1H_N^;> ziuCP9{^F>eV;@Z-Q6X2-T7^6zT7-=LfDZ|qw^g=U1^>*!Q&KeCh)wFvsKJE2w;eth$~?(FowCI- zj*n%ljJ4@lgyY|W+1}UYdOSQQkGuYHPHD1~7Te<}Kuj+2n_TKMd6HdEA~AWg-{eZi z~EX|OILgg&YblAo#AFNg~i{qJKwr9)3!8tE+tk*e|v*N$x zIINehj2(x7Zww4#DE=X?^W0g#qeqAndblG8FYJcj|Z1&S!=Fsf4FR}MJ z3@S?fUoL4~MOO$74*OZoSkUN^n?G-;{WE*E%XF2b^?1Kpm>Px}5#As?+RqiXudz>e zxvrJ8=DJRCA+|yP^gbI}wWKxI zEyA@K7w{RK{?^A;Y1y~gsi{t7+%9R&b%$`3V_AQ)&@jqCq-z5$agV)_Owudv_1E%m zg$bL*o%Y@K$*$o0B&}=texX4vQ|6EQ$^D&ui!1jbzuezzxrrrMqI&nXe{3IBrF+s( zrBmq%W|K3}cEpEp@!cZbVQ0Z2Oq2G{ZMG>wR1=eUy5446eLk#UX+EBQWwQ-tjVvf7 z<*hdB*2pQifWzTVn{~D&S#UnLV-JY!&lafo`@=RZxVBJT^VsGTk54ic-ibkbzx|l~ zJ~WMoDE4u&!pNDhHy-}z(1zpZ!kf2u*dZtqjl;z=>?iHbSS+)0?k>c`Qx4^*_|2Th zpSBr0N#y(k1=!CxnGNxw6#J}9z4LNzrLXZ9C-WX7zuK~2w)dFkwDl{J)@}VaQEV#O znoCmwh@`FKM&e!cGjP6W|A3rtvrbkRD3bl#1HM4P*;29WU=}_axxR~ z@vN86MB_Zp8(-TQ(@~oA)^Gg1>Ra8b5NQiV_H${%5ns$OBce~hmxk@E2&R5LaSWBT zuD@YIv;?D>wl;%E>JNLqEG)?nW!V2?zX4EYzW<2ry1)L{(RxQbkIt7V-yV1(zAX3lPZw+9eOcd{3m1%INXJ;b2J;yK16cC}LhiHOgk z$riog&{T))F_G~kl38)Aq_uHHLNpcA2jAj47({v^NE{l5Pgrj66}bhV7?%^Fo!You zN2eX}eMdv3WQ5+(&H~<;vI`=78R?;+1v5=N?H%F3|74Hk>m=OAVO&~LFoFGeUol`s ziIMmiL$KGf4~Uf4K-r&hR85Hdd@RaT0qg^%R>JWQx!)^^uq#KC|D_vR>Iki~3NB|U z$|&_+V##`vvx4k)x=9)Yeo<>)NW4 z+QQc_BlJFx2a(eicA_+J9uhf=oQ1S&nwWvHd?hMj%?0+1$P>(y(7>#S3Jply`EZdM zjvqvW>mn2zO^(B=YR_>L!zb<%o8cO)x9uY$qh>f2(j*mv?KlRWJwL*QKOCRV7FZZz zN4-D!G+mfQju?DX3YYYoBbAgO+lVC*Uf9<+lUhWPD30b(E6-Qh$3!k9VKy7_I4RbM zzs~Aj8sSaAtYldV4{1kw0wFI>zRM%*M}=ncF;?yhCwpgwk$>h$yEAe(g-YdiNm^I# z2~s+~^CtE57>J~DExaRux&Y^@$eZMhQJrp44V9b1)2vbU>d3V-ktdbAMpv!`yHAS9 ziBEhs`^>rsKk^aHxtAO3Qyj&z;{Tzdr$t!i@Z>FA2-Z89n?@FlWQRH zrdnJ&dkNFA{nH3c1?)OEIZBrmu)_r!HuivKb zWcpVT9=WBqqu%VBBV3qMZ!vv~G)4-WD#QMb%n_*(Oy3^id1q=Ww_SHe_@+myiRrr| zjJ>CpQ0IFiyup|1Wct1cUyw{4K)?5a2z|}e9HxI4VaP7UZ^zodk8t0cx|Hc{5eC>& z_cQ&62yc+2-edZ)2+zt=an|AEk%z`2UCs2LB0McgO{L5yB0RE49mn)j5$<(UJ2~c_ zjxY|LT0^`39AP9Yb=3%@{}N#^EpZBkPTp627nJVkO1%^r@y~zpx`6`CV&q$kPqNy4!DmrkOYuPmVam<4?roM zp^r6?3*c;0e4>FI0INvxsRptEG}!gUvRs%_VN-&W^Eic+;o6+~t&$4IXeNlW{!VX0_bsKrpI`R6boe|}{@q7jS zpi`qm>o5U|A9PyO=LW2gy7BU}qa`lQIewaRH4Tq%eiU6uB3T{IkNS>pE)XId-;9M` zlcHl9Ff`)q3zboh1vNEIiF#AhK~b5SWGeVURHg!%b`Flpv?J5PAyJtYWC}VoDpQb5 zeTPN8sc&jjral?kRZ(wfPm9XXmMLO-)SDuzqcTOv5Uz=OLwH7%Ls(5UGo#*AGb<`n zjZBrbQJE@bT01;S*GEm8v!gO?$`n@@l_^f9pgB=*3aXFF6eQF5+^9_BGQBiJWqOe* z=!mFHK{C}eMrEpz>8L3x(~(S%^P)06%2Yf*DpRpcl?$RWRm!xyFzQXqi=y7Nd}Nes zq*@M+ih9ez(NQ`kDG9YNjxyA)?l>P4r4ODGukzR^9o&>SNX=0?NGVx0mqfX0reu54 z66N+JB@5-7r~UAjV_P!Y*gL3 zUJ;c$*W$OeMd`PtWXU}~$|W}?A@P+_hQy0%@V*KY;1oRWvCz} zKKEHs`rIkm8J{PUK}t?Ee=LJOB~JQJqIA+z;&yM0(&IPw#Vzd;e!j1>wT~YNGFEJ} z%cIxK$Ku9$z)1dttMsO*-k>bnrk1XYHINTLmaa=QkOUyp{iPbn10d_rW)0*5koo^I z4deijh3Rq)WCM^T^a>3m0LT)$MFRy#Zc|hBl^VzgAXD|vG>`-!3&K?z$O9k?!qpnc z1t1gg&oz((Kqlf}XdoMaEIZd|AOS#@ooh8vaMU)n3}2^#d;qc@Uax^9fEF~E{Ywqx z0gwf9s|IojaACSZ133U>VY*QR*#N}H_>~3{0A!W9NdpB(Z&M4?%^JuDAj{6LHIM`# zE7dI;$O9m&?yVZg1t9LgZ#0ktK$hX#G>{EI{Da#ykN_b5!5tbXSiDX72X|^9AAoo= zcWEFAKs=edHIN5DuBzRmfm{IcKE=Hn$N|vC;rd$*WCM_m+kF~H01%)4ehm~Hvn?qR zlm|4B4?rCI2Q`ocP{4KhcN)k85N2P0NCUY5B+&AE4deh2|NUVNWCM`gv#|ZF1`3vJOX30=Tx$*F1Nb-QE&Hz;NCJ>|s-M$9 z9)Qp3KR&O4TmT2NJG`KQ9029?4qwzjHh|9vyrh8y00}<4tbu}-ZOLP?VA-!|ARoX2 zPUU~oKoUSHb}#m;8ps3i57yXg8ps834x8b14deh=#xC`S2C@Ns!5Vv01BsSx1!vRI ze<#YD9r#%ocy1p@AH!^`JhxB$UfHLf=k`VP?=H=kewu%28fO}BYF&|D)l%EBth0Mn zdTC92nsfS$?v~~JcP743hA+M1>Yn}g=#LjTp`3qc?Fv+w=QEl8!{esUs%os7KCh;+ zsd;8ieNAKSboZk=pF12ovjSDeq#vCDvN_lf*V-`B)HTWeR;YgxZ^J0g)RP+5* z3mhsm)6uaG5{ZMoIOcP(j}aoo*>FPJ8r$SbS{n16(58h5C$tDhcEs*+C3VJp;m9r_ zTFX2oWxXqP!bo<4Gj7aHGGxU%BOh>gHIZ zOZ96%)h&Li+hS{6s@wfkclfF9kNwQ0dcaThphJZkeLVIsiKI{c(O;u~5+d{|Xtgu; zo-65TzocgzNu+uqHtZ=(Z_1EZULd6>0Z2v2^$R+wJ=DW=E zKSH$07(LDYHnz?!?msd4K$?1~^}j+hmHj-Dd9^Din(6E3u}l?qM-2?me8i<0k?9*% zdkPH>oA$J`Gv9N|%E|P-K$|NxxSE&KYMA6HcN;D?hCD|6mV%!#`hWO(ct^2=Goh}cWiNj5!u z#<=MzQukm-DrUKEF)H>oh>F}3^1YNHa!Y=+qLW)%aa9Sj-%P}0zbQMe?3nDhBxIWt zW5_loZ)oJk_=ZMGt`6oYUb%dgR7%Nf=lLh{^s}?i(H);~9KPuG1Z&q{`m&(3tE!<*xK$ zf)}}$Af`&q6gihat5h+vk)IahM&8+sPmjrFTtXDpF$qz~Evgz-J?i$OQb58gGh-4~ zkx`@z&u!n5e50A-)T}~eA#T!V;3sa4<=odNRu%;NpVMXdIO$%kMSDWoc zG1+WCjXr4~sk)6^raMX*so&B+R@QwLpKgvxAWGuvOJWkllE76G%_!%q}nLd9Cv#3a@tajCU2iAzZc{G^z~$t1#Xs`wQt zxw3d#j8_&@@)pW^WrD%&A|3T~+0Rs!iBELF4aP!U zgb#9^FYZQ4zKOC?oQjm(n!7NzFDH}_>9=1LJ`5R<@_oRmMRrb4-u{+ObdYv0>dTCN`M5N|}CDm@Y7%9fgo_OPE+)1REU zJQb5LsJyoLXK_qY^3uk$N{$52{t}bmnVi=AH6|fcx#RwvqLHB2^Dzl}U4wbsep!4M zb&B&!%nQ-}EhZsa2^YQ^lW<`IbGZFljPJ*&VAbm}30BE9=r?2B|D@!i#an8`$jfMN z$9U;ACGP~j6XQF9>SXKPn1q-mg!*1gLZ}jAem^E5W(lEw5R(w9yzBS(*g4qyrsT5Y zhcRAuOvydkk7B$>o04nV|A-Z#cdC=2k7E*6mJgl$Q#>zqO7wY5Ld{Y8vN*D1N2 z`=!!T-pTs6_+TkHBmO$ZgJc!%{3a&hPWdFPkx3U!1@_EL3G7KI*2dimxsk(+44GR04kF!mmq62_JQ<4AGsRH%4VCPT$V>PTX*OgYMwcgaU*@?G*G{r+D( zlOBSKXC^Wwo+)29$rBGyMVFJA5?z*9Zhof3a^?PJK_+i}%IH;}UJ{QmC9gn@$>eKN z>Y#IMrgzX;lqnH=`GV;F;vA|2z5_BDb;ks%zxOa+nJY2Z37HaemE-h@nLJJ}QtvVz zn8|k;Q}PY9GVvi*u(v!@g1vGBvqI`HC1LDInG(hx%P}xn)uEiAR%S}5UcUG|C6hi{ zk@GR%gEGbClEc*>WJ(lYZrC22$s4vQIrTmylUE4TLGhuPa>5|5e;lTYkaw4+W=cd~ z;>=Z<5@(h>m(!#;75kl@$=Gj7ZbMcJZ;|_j+F9cLrsN|jwV7+N5~Sn`)8UzP58ZgN z6H_qOZ?pdsJ^EzCi|G&>xz3lVrsH=I+VM4UH)v3w>Bf+AYZl;5D*d|-F2P()fS7Ww zUVLh+-P{J9ivTm&`8yQ2is|Map>r8+egfX3-KYUZo8>lklLi=VmKfbU4KUg)5xDsp zK(tvYsDHG=Eo6ZvK=j!)6W?v%*VW})QZLlh3{A^hmWwoi&~&cztqzy^NS%o= zb*^^L-Mpi89wOHGz;WShSdrUFjW2t`%s$(5Gv1=FW>MxzOKOIbuQxOx&1#XjNg55sa9$# z2GiwJg6$eWFg+JPO@UwT=8I7jlqD1bVYV(A_m*#{e?~qFxW0p z%`Ocv*e+4;6EwhJ`ohIm@VWRH zu=~p+ZcUw{2@sdh^$%2+;8ab3IDM|{r`(*=bPfXc&_lie-LLi6>wL!V?=FP#r)vQ5 z`&{R{cJ8kzxIbFq%0EMsBf779EWT#k(Hop{HfS=&{3YmprUnr62OkDlkmHA%fM)=5 zf&DBE;0z#F?dDu1&emBx4Um(Kb2Pxy06By>R|7l^kh7rkG{DmUc|Yby8o+5lZc`O% zd376q(FLE8^1ia2#-h;H;TC(oX5o2(9F|?60iGAg+1QUY!1Dq*r22^lcwQhU8yhu% z^8zdu@*O1KsJl?-^6=m*?iVi701gjw)$Y;N=BGM~#|ZL)-%T3eF@hXLT&w{cBjnD& zCjj;06XA)O0wDNXqLGKhr?Lar!vtDh=cVkb|eIHIM`# zhrK`7Kpp_O5AzERzG;ZqPs;06BoYQ3JUEC@&N2) zZQQ1TTmbR`?AtYv13*4{eTN3JAzxPgzT=L^4+HUqIJcZTHBACc^4{8A8YoC(V&%SAHIN5DKHT+N4deolFG1X=fgAwx5wQC;kPSe7!r}o9Bml_a z>w_97Sf-D>f2VWR9s z4L|wgHO=FiGEYQw^z^Ng&!hH}_D4;Vi*n@z_D>qf0aH`M?AoUEnl9Je9Xc}`)N*O! z2@NE)GJbb#z=(QM6Bn$|2lr2DARoZJoJx0UAPGQD@}Jf~9soI0entbi0ObDupEZ!P zg4LluR~1~hp4BwjV3If0|Du5e0C{EduNo+5)7L|u(?EXPw%j@RC5SfumXhb{KCiQr zpqE=4FK8eSfP9eYMGfRafTLHiTfC%ca=;|t0)JTp*#P8r$SWF10Famb|E7V00aA~O2)SxSL1`sv(w(n_NivfYuDF`KGQ%h zfV&uM`=(?CI&zG1Y72J*XnJ;yD3xXw)?S6q+TwQk-BotKBaz<6_M_S7`F zC{8Z3kJLa8fEKzxqco5WDZcH5D`794p8$hgcN?vNf)iM065?}-<2o<@1bsayp@Afb z8R_8V8T?L@w>W2Of;L%vViV=xwn9aTlDKLVXomc5eGjit14#h#Q*wK2AP<22PS`#g$ORxb`BNIm z0U$5&kI_Ijv}mew>SSJ@-)kAGX%b+Pn~6mlDCmJ_hd80VuLkk~$ZfuH8b|_=`&|2J zAP>L`?0x%dAQymKn>s)PIRNBk?eQAO?!g#WKdI%`#RQ#~K%NtW)Eh&WW}>Dk=w-kF zUr5JKw(f4hJW$i;_v(9Fr9&7SU$f2F50Nc)ht86QnGO6USNVL5`Ik@?g0+VkhGA~G z2r<$9k7e>NA*QVhVPlvFt{$@+AV4$YXMcO;^ZtgpGqe}P;1mL4UZ9wn=pI0sR$_QO z>WQgtTMkn&>#gXNZx9>ij?gza@y!+qx$7W-A2tQbw35I>DNll4Q}ndx{?a6(D$20! zp)Vm1;e2SclJfX9R&#rZX(f-*c2Az$0h1`E6PAp%BwbAPEh%+`;B*bE@a=&|MIOa|oz$9tH91DCXTErj;O`*Li|=S>3vxZV%n+D)u7f@p~`k z?IEU>JRWp-@_Y-fvh1c%8UkjELb<0x0N+(LZwfK31n`c6Cjh^P;JH^y#MV%=tHZGr zaTnGMb8CocC4zTPJQ0CeUJ1E2R0knATSLWMLm~Wbv3YHXX(fcGH=dB`{2KQ373tQM zZlAe2G{e>79g5&rk_RE35Q0$XaSqvk=ot7EkOw zS$aHFxAnAk@)uiOr7jJPf*>_QPo^M#h1$F{#IzE`D+B`sDJ?Dvy@y#qG2cUGep=hS zD8#g4=7GD%thY+lxY^mU)E$!Ng)WAaCaK#0Pzpb>WS$pdT1nwSmnTL20GW(OrN&vI zpFn^u0uEab0V9z%&k8ZE1n^wl6R80)(yjS=p21o9F(C>(o#eWT}bkS<2!E-px}(OeL zl_Z{@dy*Q{z1=v+XleJG*A?0mLJl*)x#e~W;TOuxt`O5o2rpQ9LZs39{b;c3z^g`V zmk$i90Tw<30{Q(lvpvML63Ek8Pap#eigQKiL!4fXR#QO!FAg4|6`|fU&Obxx{${3Bqp8fgb7v|Iu(@F;KS$Q&KvxITom~KtC zb>XKewJryRehoRe=!LF&EamWXm*znsrj;DtnDXQ>5aoG76`^y%tyaV>c&VnR6q~l(~6zf z5+hSTt;Egm-0=JRg@Ojzd4t>5@{}Q?Ri)7}@7SoEGcS${N*E97mHqTi% zK*)FzQg{x8@JH{==Pag`5MFojgakdnKU>#;-xmHQ`C#v#M+8mKR#m!sy z9=GbL+9D-lll3pGaY})oPz0U~bCboi62S|1o`_wAG?lcC*4yCM^B<-0yXfXd>lIfT zul9M;s++3%x6awtDhOC3{Ve}{2>61@vn{5TI=sv232JwiPIuT-tUTA48!04I2qC9fOe-P0yXgthKb9Pr4phagvAzK_ z{=@YCC1vqj{^lBsX(fxd(>+;LeF%$m>#c@sRt7Sl=!Z-;tP z^p4$K{&lD8vOaOeY@itaQi0iJF|EY#BC03Gou_@nsNH%FGSmQgj57E`?Pj~hw35LK zpq>n0^*UP=t<4JSX;+&OKZc~o*=JT*Oe;yevg=9e=RWGDT5A2tl`)?(_}ld6Qj2LN zgID}L8I8eyx5WB`E8r3e*cpR>B^J|40Pp5|0vcAV?crw7S0jt9-?<`Qpa}lfgt^#a zT8ZGbR8PcQIr3KBW4^Ttyp0AJw(Rv2@Lq+UXU?~nR=m9X=<)VDP4Q;NBdlW~28u$= zVv6A}VVFl)Oe-Pdj>>OcKeLTar; zTs7XL5PmJvthJa{LU_^K6Cwj=&|x#xdLMJU+Tu*u2ub`br#aPPTGz|Leo6f{o$jzX z$hsd=CP=mPP|6GJs|Q(3D=B=T!_z0Aif=*J-L2F*1_GN!;3E{s4?3Bp7Sl=~uflo) z=d^UREkm$VRnG*Ap5$2JCiVXOMyWZ$Vp?(Ybp;o8OpBD=Byi4oxv#532PNaM@W-0W zPfVtj2)ZRuI*_IAXC8=Rwb)zmMUzkw`0{x5;7a(3RA z%sA3Y7GDaA5A=F40ZD=F>Ts= zfQw`i)2tmyf+$=@BUbKG9hQAChGwP~nL*ki5IM{fnFW!OSM(YwXXhdAg zg1Rg{;fj#lY~-?jbZ(AE>?xe<(P$8=AyWb-;@S_e$7j(!{cf#rp_aHE-@5eBhS~U{lQz&C{Fa6;}8u ztEL|@zqYZau+$HNy{4+EMr)wiK}orV<$lWPbL*St&#BR-�}hombO5r)u7;=DGEC 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

$ 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 z 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

BnC?|-Z;(orH$E-_iI2-kZAk-|ZVq>eEBz_;J zwh1KOUZ?gqwG!7D9~YClfFwscwcAPefFy$ZsNGL`9wZTLq_&sz3F%AH-=zF%#;+eF zH6KZOh}MUxEhp`ybq}?#seMnaLX7cI86-Zcky?|Am~Ircv7|>yTbXVLwcVt1w0f>J z-b#^TNOef@q(dM%3SUtBid3??v6co&J<5`5f@bTh#Pz6k07-eBsTEQiLG2#WV$vH- z_ZGExNGC~GTxWb#1W8m^lWr#6$#gzycabKOo@Tn|scj@3Af078tA_Dgl2naUn-oWS z2qf+DFtz2RS4qd1?rUn_lgeCg{5A$jc{fpOMe0tvlQfES5+r$lpmv&6?gnG61d`UR zN@`7OJ8E}O>ql)0wHegrl3t|s6>3{ZpMqrUAE9=fRHmlKzPeftB=OY;NsXFNyPaAF zwf>~>v`(h>0BJ2~mhRclQQHj?AMaB;L+vaztCoqXGN}fs4QVb&%6o{~!=x=BX@fVZ z?IN85$^3VQTGiU7yy_rnmztywAbUoq)|E5{Bv-7*Q+pgF@vWiuEa`31e$o%5?sZJw z-XMwPPSP0CdZybz?N!o8q?4pFbxq0TKvHrgQghPnOqW5eKWPkUGHE#}rk?R}JxF}i zAtlk8O05U!evq{DbZWCndqL99A5i-lB<=hgwbC~lzwsckCQ?f#4W)G$wYy1Afh3k^ zsJ%e?86>g%M(xV_##6Q0qjx zi`INo3Q_9C@csBIw~CY5YvVkr%hSjv)aBz0xF?$mmdib!Kg3rTI88z1o?@sUW% z1<5Qhl-e-T!ys8nmQy(I%1ZZ#!)ddLq*Ey`b6GH0LWN(jAmXKcHad z4WW%hOVDlR#n2w1w6)CsGKqAx?5KfA_vcIt6Y2GirAWXxK4QZhwz1|VDF=#nD#k}*h zD<}??t!vI#Nu)cdjyj^@%o|M`k5-{`%)3mxf!?9Q^~}2VB3-u>YRPCDT1ONj(pPmT zEex#}={MLG+F6m_wM(?WXdh`d_03-LBYRXIbMb_bf1Nbhq~ znm;Xw7K-LFx`?(6?G@=7(X`tlT_c8;tC4B>MY_|%s2&Pn-XPjAG#_1N-VNGa^oh}A zPG+^#sIW-)Y)@+-(mgxV`qKu`f>9)+^Jt6FPLZy$k9J+8Yuuq_b2crvNbgGlR0{<# zZxC%5TEJ)&?I(0Vq4U{63*fkaisVbWG3wkEfpQ>Kc(zP+GWfti@s7$LttBX1!H#7u27wPU}X>lk=TQizhq^lJ~ z^%!kL>p|;Hn@F2Rn}xP8x|6mKT@~q{!QZ0273rQo(5kdEt)@tKS`T$+)ScD`O=ENx zZ3As9?KyCyp8b%w77K`*c zmeUT1bd4jlC$tx|KT(EGW`DU*1+-11=i5y?fbNU*Q~Q|qJIdSH{03Q2r1zkUNYB@k z=7GkE^n8D~UQX+KuLhhM;h?7}f4> z&fGwxXLd#&jC#?0(Nsof($>?q&~DQ1(SAe8dYE+`MEVMrqg6(2Q7H39(8i$U=oItL z)2^U6RG_C>*G{DOpg3|tqnJ02HW{sDbR%sWx+I$R?YG(MwAUiN-oI%DdYNV?O4ti( z&uAA~Pc#^fMhj6nH*@C7B0X~r)REC{G&dB+=vZ15?I+q9+C|zm6o(49o4weH60Q=t zARp!pq=ld#(SGI~rX5F5Q0Crd-5eraH!rG*x--w6)(3^5NoWO1?qSwQBhoc8q6#8? z(p06@LT(~`(pYHAMfxsTO-MLOLQ~Nkv>AO6>8`%gQuZ-BD2$v$IAkn9<*9slCh^8ASSe zRHoIS)kWPHb)#9(Bu1yx*3vf8F4Jz%?xMd@GH+MVW(hKO{Hk+k_Dy|yK^W33n-S+INE!Z-Pf#rLy6#-csUJ4ic<9-wps%o>?Rx^50sozXfpN8};WEApcG zqB$acW-p}e6zLW1qy0(yi}n%a8)$arDAHqHXw8u?qXD!*Xue2yx`eg@ofGL!FVkL% zbhS6M`~jvF7U{jRM@<-QNo#|GM7o1e+6c5-q&rwoJ0a2?oTbIl-qXIIf`R6Uq9Wa2 zNz|6nPP72pAlgRSHrj4<6XgmrtK}EzYK2jKMxAI)k*7$XCEm1fkzVga+9uj|+8&fF z*c_2sq&vufN;6u4Ru#F5bO#-114O!mVA?#|V%lXnHuIkWw)B4hU&}2pbe6AwBR~^t` zMu*czqn||jDy*e#MAt<6e!flnOQgI1NUJg2w7MeQK||!msD;)KO=ENxZ3As9?H27< z+Cx-kgxNtwk?x=xYR_mFT2C~Z(ebopv{kgzv66UR-twBf7S@Z-|9A)-WO{9CNjXI!E=8d3@ zL5t8TbO_}iZPq9((lzXn6QfOOt&q1!-`Re&i6Xtv(`d(OXJ{AED@NbaKA>D<%%4W( z7wP`0iFA$Hw4O8%nirbG=tA03v={w?enqXr&1&sMx`QrgFr&k1qtRlK-l65R10vo1 z5!!QFEG-V@7;BEmE7BblMD-bUqV=SC&?eEQ(<0GUMt9NnqiZ64#@?p=CDQBoNGm+f zG<%Wmv=nketx#XIR5VEb+%dJyWs#ow2BUY8&3JQ9Q;Bqq^r(_ZpQqJnJw$rG-n71G z9HWzI5oj-?(X`vN7+RVMW{r#@-BmVJklSuDcciJG4-nC)0U9|nQ!{|Pvk7>W79FxrX@``i^RcJM718E_&p=c92 zj6RBVr#6$#nNuNqk&c$4l}8;J?M4fs4W(_P?WP?-Z&0c!W(Rddx~?P51r0${&|#4t zah!GrC7Wu_TwJ8{O4BN!W~d$VMaM*X>}lEs6w7EF?LEpj%^X`uq_1EtT78;@){o|o zrlQTv+d?KH~dkIAgMf%)bN?VD}iuB!niIyS4oG+_L&zB1|L0!;v zk>1Hj+B|d`-9B2Mt`EMMJE|ON4tzZGn)KIvx9;n zeFclsn$doswL^0mT|`@k4l#O+b{f59^aCx|9J7P`BE2sSX^m+uPz0m1Y4g!;Mi0=A zpg$OWP0KXb>>#^HcTk;Hhvta<84aR^qFHDW+KFC^^p5{c`-F1OGdr+D)zK)C9y^XU z8Lee>BW)YH!sty}9PK@=;C!=2QIXz_lBgkSfh_2VNcVSwb{4%7=`;2%?E@;Zz&vA1 zh;&^~k)F?+=7+X3x`%cUJrLOxYiWTYk;%M(ti70cv zG9ulJGa4z^(rQJfGMY?YCrRL0OP*ss$M=e@gG+CtUM$l%XT_Qd6e%fIa zE7CK^(b6w7JIIafP;InHr0Z^{?Ll`LeL#DH(kwT-$|%x1nGMwx=|9_8kJeeFtM#DG zqb;T_N5>dFO}l_ziS)j_rF}ppSC}1?73uz(h;#=nX+6;#MiAHncedN!)AX+Gzi%v4{9PKiC zjf$-^>pF;Z-EycU8qU1YwDD*qy3V{iwEM_ry;-A@NME<=v^uCOn#{Zi+HAB9J!0N- zS}e-E!K~Xrr0Y7j4q&L zo6PxAi}ZENfJ&oo%yXkzP&nGoygjso=pM?l*{qvWr0eEGHIX;-{Aht_COX2r6STAF z1uD43tXov1>y|`~(NN}v(Z-_HjIO6`LDxk3G`mfUL20&{@05(9gdK?VRV_>FLF-NH zi^idy%-cshgkn&(ZDx(!B3-uts*U zVsxH)S7yK%0uzp}Wj`Kzo8x?=x%E5b3?IOKXVS&GIiuM-e+;7%(5$U?kX|0hTTEe^)v^D4ide6Ksv=j%-YDG~yk*?dB)&mVg z>zTKOwi8`LX%3q6WfbY_mJL-z?#$~$>yIX(z08ZI{em8%T+wFT{32bqFshIInHNM0 zMRUN_IjNUNs9qlu+J!;l%CDL`<(mJ6K zw2FD_Xq(XmlC;4L1WPl=Iy0L zqhC?h6XtxmM7o#!s21wSJbzjcnuU%s?W3iB8y0OkP}rD z=^E8&t|DEd18ov*IxQ0IWON_x5PHVwOIo@!W{u1u-BkmcGp!l&Li3onn6?}pMsJw+ zj`kVZo;B;X5$W}Iq;*3h7#%~KfYyohr@qa!9q6t||4i@!?XyT%OMcGmpo&OaOv^+oLy@lAnAQUILkpM}Mf(XIMQ@q+f%X*@x?t9AC(?C0 z(|VvVM#s`7p$&{~rJbW)rlq`S)<`GPcUWdr4)tbUUz!h^&S)fU9@;L_PtP9ORgqrX zEn1dKrsWjrUh<*3j5ee-M!iM4Mqk=!k*+bGwu`o(b{O49xi6bz3y5?tcF2j*rnFXQ zFr&k1b7_lc=V+H{H_+dx>=m<@N+R7$b<~B?o-_|MQl$Sm`f%D3k=~aTw41bhwBJzb ztLBIdBHck&RF%>iSNY`yc>xhEUO6L7c+l0;|n;YhQsYH5r)1y+TEAx8MJkc1mjd{Ci z2hd%V`KDPnhe+4Wi)tV*=K0bB&%LRN+NC5X?0Ln zG@W^ow0USBqlak6&~uS~>&DXJP=UMVTh~scccYF-cjZVMNDHA2Mf1^l=3SxPM4uQ< zcF(Mq8kHC6x>aaD(Av=^(5BL6qV0_Cp&djqBE1`rXwOmRU(MafA=0~1UX-vankUVh z=7*-D1I#-@JAs~{yfJ2tf+AhFC~Am8m^YLbhL$tBnzkNYWb_*CPugF!lK0JC%8GO^ zm5?hM#k_H}$!IOQ&Ab@eBb4%iS)-ar?{jTh1Jn~uXI><29@>STG4Cbq4a)wTS=ULV z>o%peLOy5_^On(8p=0Q8=6#|iduUd(Lv2L5Zbw=-Gz4vA-Zt89bcfOVw8tp(BeO;h zQNsI~R)yw8^Q8r#*^JJoEkS!l`ZHHF?Y2m-Eryouv1z$Qx|af|Hu7g)5G@ofWOONQ zB|0q9y&R`K5b0i?(DFVpt)M93^M)Ft0Ok#%4MPji1?F9)-9n!kP5#uZmIjp<=@Y36 zttRRv(mxCLq>U8m6@}Aw(+<#%pvR2g-c`iRQ@Zq}_N(siq&4rmAfmLYfNiF3!{ytO+xD#-9p=mZi)1NTjE#R2a&G(l~(n&X|+UpU+N=wM*GnE zqwykrA55XG66qT2Xm@E3Xire;H)h=$B0aV)ts!zlGnn@yZ2{VYVwo35dyj16%xXnM zdgUchb4FX!`qBJpQM8|EYtc#cg?TC7n$^;xG9tb5inMB|i%7qjdeS`5B$57k-E`Vo zk)CfO?IGZ60kgZ8}f;KX`jkX(I73ur=7VWJ_*Z4rI@XoZVBE46&P1Isv{oocr0_JWfJKfauDen6N#p^%Lp-{Anv_YiJwLMMkgDZlmNj$rIK{ zBhnpYL{&t3cWctxiF5~@X%lJFXtU53^n`gYXn&%d$;_GaiF7Z8P(#toZ~x!d#x!@4 z?xhcH0WFI56FR}@S=uG^N~Hh2gKueBlbbbiiF8+uX)S23$R9;9?bXTotZE2m* z5JpGR!qIAxUdMXc7Iagjuj)P8dy!t{7g~k1rd1W`u4(l&cL9|db7oBC^CE9iLfzhwDl@Yli~Ra^|h3tw(3jXXYi(WY$Q7N}z5cUDu6fK@%9AN}Gu`iS)Z- zJMDr<&v%uUI0YMM4$_X&PNJtM zUv6`3A(8H-7;1z9nKzg=94$m=nRkhH9sPyM9f5V z%~PbWxi@V-Z3%4!I)dVu_n!6z70hpT@PkO#Xh-Xe2BFo=TTk19E~3;0%=t2i^eVHW zDvZ{o)k9v4`qC!QrqT}6j?>PdSVrS$?~%Q&*s}$0M|RB7IeVqvb4QT0W8Ppb)Bu0+=_5 zHViFcbOmhUZvea$qJj_3{#7A2Sr4>(-O2!wC*%_6o$4lZx8Jtdcf!t+6$D& z&a7)I(!JE6)uj!jh0ung#f&betwv`=dN(f8uA$E&ech55F*_(I(z{WV)``}g=8nP{ zok*L8wlKPrc8PYKmbR!_HAJOO^-&Krjd`HfTEi)hPe ztI#P%&(p4;IFYXLo|dzuStFlFch#KMn${i#qSee>Puqg7GJ1>lD@yHP_L4!Q>t;nY zMEa*&b!nYMdN;b$rqX88=Aa$ucjmpKy+wITnKKs@>0XMWW+J_7KhWBtAtK%BNZNdn z?sN(53hgHC9!gf)9Fbb2JIH`4i*yGyXmyc?NO#~x8za&kOrY(j9i|;e&l!!S#i3kf z%ntI4bbp1BlSrSjO=%vYg!e9O5p5Z56*|S}dD<29R;2gf1MMp+R@UsmL8SY066p?_ z(n4t?Xk*YabeVZKXm`;kRIZ#^qq0cXt${kC@ywe-n}If=N6dRpi$&SXo7M7&bTwO4 zPo#IK5v>X8FVfd&0By2J?@$Eo5bYT4G2Ud-WA$S z^bVD(Xx1$+(siq#wrC9VCeWs$b?7eh9?+hk)RoK{HAH%^>e3n_H#D1h^Jz=aVMdSB z&Y)P4{&N&@v@Dg)x;aI9y)LxowARQEEn(gY+8T5My=UGRT8b)WwW6q#Nbf;+nmY<- zbRumU+QR5g+9ld`TH2~+jZ7lF-t4Fn>chPLv;k-qqjPDC&|Z=L78p&tEz)a?p=GOP zT5gf?s=q@V6mwDPEfNI%_OX~81Bq9L@6 zv~9HA=nkXzX^&C*8fFJsM0z)JqB-s4k>1lIw0k1m>2I{WwM{E1(j62Ou2DvlyLA+e+I-`-AqH_BYDk!0e!~NOxe5 z97X!)wk|X`kzR*|HlMbHwgMez^bGAH`ow55N3#Q4k*-mM){)kY=7z>FI)OG7ZDw=_ z?IP_OEki@IZdQ@rja;ZEqxEQwP*0J*<{q>WBE60=v~9HAv;*ia%HGHvn@6O3u|*9S zb*42#7SZ%?|C~oZ+E|h9WfE;KEt>WVdWiBlnPUrybT7qFV@6xhT#=the*y@kO%v%} zX3Hg}7bPY$^Kw1cGD4LJXGw%xRCi=u^G8eO2YE(|7 zPoK)P8mOm8pMM^-5u${532icpL|d7+i?$z~5zYSgnqQ<{Lo#49Q2v$LCM8OXGNP;~ zC(4U#ksY!}4yY`uh^nHRs4j9u&ZsGBiCj^8)ERY0ZpagPAs;jV1);%c7z#t-Xabso zB2Xlnix#3Nv;wV0>(C~&4edhvP&7JC=$&@3sDqWfmWk+XcO9ocA3_AT|qa{9TbBeqNnHudWGW9 zJM;> za-zJ*7TF?#5oJX=QC?(=?2tWjKxI)yR29`kb&(@-Mom#mWHb*Pz-vAo}w4%6^cXe&?jV*miHe@i!!3DC@0E`Y>^$ZM-Hegs)(whny4;vM9!!w zYKdG?d(;_qM{dXyc_AM(00p7JXc!7Z;b;Pyf+A2Pnu`{qD6|5tM(fZfv<>Y-`%pAG zicX+2=mNTeZXkJF*$kC`Ww2SopWLkyjr!JpmVY1lO_}BQiZS1mAC*A$QFAl^4MPji zRuunx)R=E)j{luW^(=$YTa-MbX|~7#Iii-x9r>amXeL^Menz{{QFIaAMX%8plp~Yb zX<<|swL`s;9~y^dqMhgnib0=H+RSF%Jg69|jOwHAC>V`K^UzAPADu$?(M$9R<<4Su zH4AM-`_NVN0R4%wW;JIijLIS>DtgQ|LN+i9VuydCaj@ zkP~u6J&-R7M>Eh8v>xq2r_oLH4&}&e_F{*E(P%UsWyxobutlX%L-Yd*L1WMiv;?g~ zd(cf3hmz$tJ1B*!qt>W93P&^0YP22QMbA-+0%o`Xg|7*o}oOp zX5E#AjJBdnCVv}3473>ijCP?* z=vVYNN?FG2B?l^p>Y?VSGwO#1p>Q+NvE~qVXL%wJT8jqHsb?7v@iJqW1l&q53Rc2(1N}=kg6Y@j@(MU7}%|mO@4s;bg zK(Xi(%2?U#G#@I3s-q^TJ#t5WXe^qE)}S5eEV_kWqpv7)6|+AF?gl-AA$L6G~Uz>?#i`j;f%Bs5Np&{%9DQh~}W5&{lL9okx$+8U54}X6P`Y|%f4NZ!R0TPrR;UN+hX$eXC=zW)*U&5U85O8+ zcIALtp{{5!8jBX9H7FXLMYqvgl)QmiH!E^L)lf^+1r0#M(NAa#x{aQqY>sB#LZ}I9 zkA|a3XbU=suA$#h`i5qWJg7KofLf#Os2>`P#-T{G3>`oh&|UN#eL!g%nf>KN_NWqS zh<-rcC(N~nk$?VD&l|{8sGvtPRQ8=1`)}S5eDvCv4QATI8mwc!+ zs)?E*cjSl0p;>4PI)m<@XXtN~%Ejy@H!6;*AV<^+bw&MAD4K-kqHX99ia{^YCzQUi z*uAwLBEy~u!?6eT7hgzU6s4ogaqtG<882ya) zp;PEKdWJrrv`x+a>`_Hj7d1ugksI&^~k$-9<0aSCqB6xsD>JGIB!gkp+dI@n|kugZ7}) z=nnb=eL-1Tm|fYSN~jTPhdfa*8i(ef)o3?5g>Iu4=rhXP((I}*s)W2yFq(qqq0Q(3 zx{iKBvFIa8)5`212P%xppc=>twMN}gUlfQ&qRD6uT8=iNz34c)jDAJGqrXv#AIueH zK?P7rR0TCaEl?-qf&9@>G#<@DOVH0~Cpv=8qub~SdV{{A46V(zyF zg`%-&23myHpzY`oI*V?iN9a%V8KrYI*O3bqLFG^_^O7qfuxo+JjD`JLnJe z1!ZYtc4~(zp+=}3@6(8`K*GqHr`DtwcM~33L-ZM;}qf_GVWFQF+t=xgvKIfX1Lm z^b^{Fj-wms8Tx=SbTGTJMdeU^)Ec>=foL?Eg;t>L=oq?=o}%|CeMhsaqNoCDjM||& z=q<|J$(*GCs)`z-E~pP0fhMCBXfryAuA!IcBg)a)?8Oe%K+dQe@lMNxTF8#P94QBTwlg`m-B zF@Pbigi538s1fRiLeOZm5Uobr zP&7J&ZlH(g75aqIx|u!aM0Thws)?LYFVr6mLSxW$v;eI_N6>i`i$0<>?q;VYQ5Dnx zwLqPa2l7Wl(NeS??MA<#d+0g(3nlMu_LmvuMVVvlFA7Ct(NeS? z9YdGUJ@g#?g_8F%JI#zrp=zihYK6KW3mS-qqlsuX+Kl!ipT1@XPk7CfDD0zRgS`K87?jmO&GcN=! zLtD{NbQR_EHOH1lbx=z*6sVbYltI#fV65T>M{mq$+BM&qkMWM~; zFuIH$qPM8%0JBCFlUxMA7IXY8GJ5HwbM< z$Ix~36un2~1I<|)AXgNIW}su}I(mxUqw+zV8M&evXdjA2@&A=!V{GF8b5Ge&QB(!J zL|;+X5OeHWv=^O0cTvSb=7@DD4y77wMsuT)C;}}-TTqcub8Kbgfg;cslx2uH!VdLD zfhZi!Mk~>6^a6cGnTMJ+3ZsgsAv%oiiR1>`q_#;m%>3sTvx@XJ>Ou3Noul2Qr5#@m{}tSDvDN%^oX6bW9TY+i0nt1BdUn>wQPji zAU6~%(lx%&GL1IJ+M+VZL!?Ip&_l!db3_A?z9)Y`J&+H2A<{KI($Y^c$L2#0 zsHaGe@TCnylhJ&1OQc6UqrF3Erkd4qqc$Qv!j0ySMxd$aj7X2TO?!^sqqNh^YV|~V zL`zyX)DMNC3Fw1Jk4-n-oG&jbiK?UVB0b_q+D~X3I)ai#m?N@^5}q%pJgSF=h;)sK zw7F;%+JXKS=@F@Cm^E@CdsGGaiw4T`G_}nL+Ela<{fzF527Wu@740j^JkzXO5S2yq zMSAQS+Aee)T|q>1s>SCUg*;L#gJNV{?l1*kY(MYKVr2bf*((bI~fa1AP(c z5t-(iHEdBCR2vNx=@DVH>1Z)pkMhnlN0b!lbyP<#s6FyP=@*z|^NI9W2UG(!Mqwh| z-*nnyv>xq4pG0~@hJ|L0{HPSFiMERLh{LptCG1?q}^73mr;X`fNX zD07wqsEbIC@S+VuAyj{rIii(lj7|J+C*4thGz7gC=^DvanAfn0YNKXo zs7TkCM4N|Jqn+rbNRRkT%ecX;RsfYo%S3v_W?D2lkM5xY8_f}=MS2~zP*cDlM`)MOee?=BY&J*K5a}9?Q3vFSmWl?-r#rRH zCfY%C4&6nCwwNQziFA#+s0HeZ?uiC|TjLMfCzN5UIZJ-jL!?Le(1xN(Xdb#Q(jy+z z-lCM-%o;gRYmpw&lje(tp~>iyNRPNrdxgHD%-hXs<ac9j!MSh{Di*ksfh|b{joM z?@{?3=7@SCeLY&BE~qcMBucmrS}gjEGVC=+?6o#TuG>SnsDLEf^}azt(@3`L=66oYIsay}IQ-!9Uu|sq%BR@IrceC8@mDWPK!9Ju-^qu_CjMVGHeuiX-Nq)Fjh#)3 zZ$~8rtN$av*4gBc>EGsj>$~LN&&oUVd$}nkh1{F(<&Bii^5FYk3d#BRWVbH$rCiQs zUEHL&I1 zH7VUkT9@`xHjc6`AyWE}u`Y9@G#zVQ4oEpT(YoA|GJm>tv61(CUilNT?>n@WGG&={ zagma1g>~_e693!J_oIeM+4_&NL`q5diTC@Q_~(E8PnO@yO)0kWGsgGwSxVZ&)}??v z+glv9E_J1hI%ZwkOX+ymy7)`^^`3QEAZ679>#|EqqlebzvXlakt;-uJM}D_18RffS z*k9JAl$87LtV>fVejlw%4=JzGCbPQI;ZoM+vo3R_q$+G(c1mep#Jb#((#+nve3lYc z+`1H&ZyRR^>(XAz+fvpgM9S(i)@8aBhlNPYkOOlUQ%{itjicFGx}JUB~prbTbKCnPrDH7azn~*L#@jvDQ!numtykW_(zy^ zX(;9RDC^=b<*+W!B}gl=>^R$k&4Wl_s-%y4P5j!cwvwH>G@#WpL29 znem?;`R+}2$0fN(%h$PVNGl1Hb^v6J6}=F2nTpMNDR?)y2uyy!{eQXxFfvhnK}O*e8k0adztE(y^UOJ9))|6R+Q1mLxmStT zOt?Brkh`}}Qun#7CH^%Cv9$O0mDfaGv=Dcn#AlH=gT=F%ykip$xwLB7%sFxG_#ao2 za3_)B|K|t#+xuH~*Vf`;@g5MA)QvLF z#e^qE;-&w`>+Bjky?d?xV?_WgOAc<_Hbr+IhE{q^$qO!RuhUswFMa-xAB{1d(x z<+Ge<@cZ{hlAqH?{+@}SaOUlo@EA;VPHt49k?*Uu4<6u?_!HhR{+sGwH#5;m8v5yV z^y*l-Nw0(-H2(49#lJtONxWYE^5}N=2;!c~PcZ?Z1LS?>8sHrwj|X`VBwE+{k(czN zznyD~Z$B6%IyBKoBJq~~@c>Kw#^_}6@s!V$JbdKs|Lw<`#HVO$>0=3yAHovfSEt|r z83=N=$WJStNq!*R<9~2)50D>glD@R0tJ$>vAeDI6Nq%*FdkFsHTk5~RY1>+Y0=zBq zW5a*E>8+k%=DD8uzF1BA=TC-7Om&wxSNu0n!uR)oESvb%NPO-3tWWx9u7ABAiTCke z4_))%{Qd)F;)TC`i2m=NcC4S0iBHnb@{i|iqIYz{BLDT1*!Q>wJ4d zC$S0hdxAV^2E_k(pTrNh@lU8m?tzKl^X-BM4Db(-kF<-QC7^GpK9np0t>m|rM0+w% zH1ma;cq{+8>%^~}v$y<$74#qP9G*A{mz2a~rip8kk8$~>EB*&AU-$SgrvP8ME+0$$ zPg#uv-22A=-zM^lk*|BeKc0jxgT0;oJ%Zzh|J}`D<`+Ki|9`(SCj4UfLnH5?4t{|N zKkf%v`dZlRzjCGOX19$(gXEXhgcHQSO7hUQ1W+3J`}RpIH1okC9Up-6!L;z2bDURy6>>%e z<@W4Y?qz#B&P(Ta!f)tq9rEjir=uSY$_*U8>t2I8$gS$;I2S=~qAB+p#G;*tAA0V4 z=Z}tcxo5@N)sA!e+drSffFJs4OK9_!(05xxpKl4hxh1rEOXw6o^tk0E0nJN8;1z_x zD+qyC5CX3t1YSW1yn+yT<)J4mF9~Q~8Un8%1YSW1yn+yT1tIVXLf{pIz$*_uX?aON z^U@G_1tIVXLf{pIz$*xWR}ccPAOv1{sNM3Cfaawk@CriU6@0ud1(l|f)IEGA@B-9;1z_x zD+qyC5CX3}^o->t0nJN8;1z_xD+qyC5CX3t1YSW1yn+yT<)L+!mjpB~4S`n>0IiYk06Bh2tsI& zAcXeFL!voQzsjo+8Up+6fKZ{J6sT?o1olBGun$6DAB4a@4~c$3_IX7^Ltwuh5ZDK$ zz&;3pY7hd|AOxyG2vqZss2rr4*F7`@szC_6f)IEGA@B-9;1z_xD+qyC9uk#Cp*axM+J_vz* z5CYX81gd#RG#XOPt2P<})gT0_K?uBp5O@V4@CriU6@TszC^?8idfQ|6543Hnx3UebW$HbvqzbC@6&r1tC-@2%$pT0iljT zDbz6!iEc;sc_r`vK7^JCW{+wIAyhjEq1r(R)eb_aV-P|e^N{F?tYcnb)DUbM;csvVT-1VT#$ zrO*;V2rUtW&=Pq_G*hzAtEd_R`yd4NK?uBp5O{3|1gb$PPz^$$nukPLCDpvvsv%Gf zLZBLiKs5+~Y7hdiAOv1P2)y#pe^Q-0(WdHxiL z8(IRIs)o?eK?v-F5ZDJHun$6DAB4dEzk|R&pK!fpF9FS7Ltr0-z&;3peGmfsAO!Y7 z2<(Fpc;%s2EH4RYUjG{i?1KrxJ_v#Rc0j05Pzn{=4hVG&N_7IE+IcCNzo)+qs`-h$ z!M211bW3OmbqqpC7=%#AAcP79Ayg;`fodL-`Fr}?kjhVFiR7-3mwMGwm4K$IAy5rM zpc;fgH3)%f5CVxH1ghHso#K~z%~F+srn*%K?1NHZza0=N6qG`Rf)FYcgixU%1onC8 zb<17?n*CNGun$UseIAm4d0uKB0zC?I46| z=OO9j)8FneOy009ApzYI8Up(uglY#NnK)OV9T0WtMPVqzU*|wK}ZhH-(y@C+h zD+r-NK?oHJLSP?+z$*xWR~~xb@{)k&r6KSNLf{pIz$*xWR}ccP?SMcvCcu<(Go!j71|C6bqq?OjzI_&%0r^U zagEOFauUh?F)!5#^s%kB1a!5x3ZafcDbz6!J#I-zz@HbYotM(tqmJ7Fq1r*IP9U^I zQ0f#v^ogyb1T?SzClJ~zSR&eMJ0P@IPzvp}9S|BPD22w^4hZd)m-^JUmjrZsX$Tbx zLa0y>0{b8Y_S*r0eNYPQgAk|&p$<}?S@sgp>@@`TK?v-F5ZDJHu+Kx=H+)5&$A^4E z4S{M9LWT0s=a#($G~M#b`jPwxSb&T zZ9+OPR4AX9hESnABug_D@cbIBrBKJbl!j2pAOsRY2z3<5e_f>=cW3pv0s&pEt8oLD zkOVYzaMVB&@FlNHh+tj94@C(@b;7hwD1n^R{KrmR&l|lELU_1bM3#~eE{WvBZAfGB zmy`+Pdhd+|hK&Strn#)U++#VBKwV$5>8l?G@?oHU7|MsC`e8U9hUE%6>iAH{ zhZSFdggi5#q3>;LNkBsm>O(0BY@6ST+iZ>!(8=$xIZ8l7t1Kh|4Xv?|1bo$BvBKsk z0WEu-g(RS%cP%6V4Q;ZJ1T^%$g(ToBq^>(#r8}kS(tJqkhhBW>wbg3pazSUyXzG}6 zC*!G<8I}ezMCwiFbw~~50s;IyR|JPQgobg1`DhF;-F6y`xY@X|VVKspq4GncCl2`p6^Zkl~3i)f==79^mhWGu3d z63FF<+T|8D-7x+&wL@pu4P%oH(_+i`uuSK@#*&hNhWgqyLjoGAvycQdben}FkRye5 zS!Z*UfR=s1LK4uBtn93l1T?hKLK4tWCyPyoMb6*sJ`QzeHDD%n9o8B^=$z%?>|>3l zjQbv?a}iB?`Mz3SVjv0l3R|(#wuA&U?}fG#CE%BR!OBWNbGZ>BR>&_p+lop+XZwiF zRstI8Yp0Et3)Bb*8OyMIg@(De>^rId#*wtY9xYwk4oRZ?pqh0vfv7j#>$9kx9oDu9PH8 zb;5V;(kuZDHCC85k${HQ^fZtJww?Woe?yC4he^O+-wxx=j9Q)jU3Ricz@Map)N7Wi z1bkARtw0;?pqD^S7R%WqNZS#SHN)0(pd})KT(bO5?}Jv9ARX%|0bP%c7LtHZwnO`` zScT%4Py(iXZNfFVyw+Ms0y;1MU#9Dr@7CJqKQAhpM1N=i-MYS2B^9r$(tOP>s2}<=W_!;& zeuf=L<=X(~M#L*NyJz$*xWR}ccPAOv1P z2)u$2c;z8wc}YO?(hztBA@B-9;1z_xD+qyC5CX3t1YUWl!19uS=A|L<3PRu&gup8Z zfmaX$uOI|oK?uC^P@&}|0nJN8;1z_xD+qyC5CSiO{@aDClbvPD1@Hg+HQZmOuPR$8 zHPBu9LX)-i&52@59o`YlMRlTfBNtJ-*#iiFk;;ch;Uxe$oQHq(5@c3D3$*y!Og_A_ z%7jtO!k%UmkU*|{Bt8e4c1L6*j)WG`l79ITXtXv~50Xx72aM>T`)sFGvg2t%=ifnR z)6gcgkZhAHBoN?;-Fxd}0!loz2xEvbo3AFjkTD$(2Dy3%bt)u5uO4X2)}&@zQWDTm zCuiKtto=g*ofM!G-iS741tpM^LYdv|V-C!7(@DR_$Y4?lXvirukOVYTVj&4=sF#H# zprJYoNkBvASV#gIy39fn*eb6Mr(B(|gZV>4qF$4|1T=JkJ?%&!mpz8=bvOd}kU+<; zc)^}VB%rgJX|s|*E-OrrskT@NXxZr&k^mqSco(|Nrt_y3y9!B5V5<>2k4+utTfX;n zx=#PDSTO+aMd8GAqM@-953L%x*Irda2JAjyVAU>*+LknB_g#=}%C@jpm)h-Kmui9l2L|WVC?K>AKcA38@+uB;cAiGOrwrN4z!hHuii2(z4ZEcymYeQ@E zApRLWef%iA=q_m&0>shYL8 z4HbPs!g!b~P4c1;jH+34>RYo;lZkYmnANNr-nwvt(T_~BtvUSrjb_! z=#HdI=C?MS;6ygabE%ruwrKJErus!l@~UK)b_$|5Ato|r{K2E0$ZLN=xNsOErbt;% zk#KY(pO3>+JiDx6R%=^JL(>8lQ$M#Y+kys(b_wl^RN-hL3d+iuaEfP#RQAtElbF>7 zm6{O?476kVN zyn~dV!Rv$6sYgiyGCoa$2n*w1NrK^;aFb22ztiOg6+dZ;S*(0MMIetiPcyD)kzYyvg-;D;ge0&b%}f6Pf@1}tLwYIFcjf4 zOw_xH-@+=X&f1K;-|yPq8{xA})Fw5Rg*)n8w4(Dx*N@|fJBcrHVvl6KiSN22P!_v59`Q&{9axAv{SU#m$q8iU`$O$~>6L>x+@bc!Iz;GJ(=dMPBHr)`yr~7c+}#y}IHDeZ08(oFJV!k(Je{t!aE7U8OeNaYgoZ`zAV<9* zl-KpJz^sPWLtC>*_o9)#I<(X1rn$}YupBsQgV4V&)Wae<=~s<(V|b?#6AyRPMybZ) zaOvl}qu94hB)mK&F}3M+sQ?GyhY~ac@FS@}fu4S!0%lJ}(MP2+tluvvgy1BZD<4bM z(Ao+0RUZMF)4wEWa{5|wiaUk!&z^v7PS;_aC)5{plIThNQQt_W?6;p=1Z2Pc!bWwu zhBzVJs%7me61oB+E=8gtpNz`O6ou~3$;ACK#YU#fMSEg)h1I{i!|q!?wZ3IR7DFx+ z5=u_F^j1Mgn6#(aU4NiS zQ7p!?7#;{AHpy@Y^-71Da)~PZoGbJ7stH|^lj-G`@vO``RUNuVWY`(K8FpMQEPW`` z?i5NnkK%up?KoAPuSdLrzb<4(%LTjGVX-jh;4TG!~bJ`3-Zq9&s(2($>6qB=*e(GL*L=H#s{oy8wxq z(g`_nS(-Y_(NP0P9?iH%=x(V6hsO|q6YXi6s9o(HdL<{bk6&h(k*QjW%C8Km-9sU) z?Hmt7L%&8E$30#4nSEJEyHkm6_rOpe$hh3a4hnG-&2Sq#n3-Yc6{)(=gq+kNeyPcR zscE6soYY}{sp)>HnV~ClQb+owj`B;@hgRpL=J=)N`lS|x-pffX^h-7Pr51&XvG?ja zHuhF(oSt=h19| z&kE8#vA?ThYb$8?%Rp*BK<)Y3rQ5ct(geC~gae1kK%w5JNTS9jv+PDi+%Ao{r8@ zSBFFce5vMRq*2${>aKSWl^yolkZ4*PWg)sP^j(hWpZ!d4H%zO}g^E{~R5ym^AgOzc zr2ivFh?9OmRG6D==BtV_`&9wBB_w+0{YB}Cuwtk`+34j7y}P?#=LhfOp*ZwdJ$Rq+4~Zx3;O(lO2@Mb# z4&HSPo5A}mWlHqm-48Mxyj`5?D={43RgZhJlh{=TVt)m~8a28Y##&~Op#4V_fIO+IG({2(Mb&NJKRCd(YIQqdK@ z2+hys|D|77_=@>MR{)9cL+9m$e(;m{(UPdbyxSB~pM~BPLGI!IA|WTUx6Jo%LULBY z9)1(dF6vuLqQvMko5`ZP;rMSGy)ooePs2GVs+{mIk}(&&P*^W`Wib^C*Wj?DJH3cu z)9LZBPmA0gGHg-hRA;f8##BN05Mbq_r;QvbM}lJJ?%3&`3O|fk&MG-xFUVs0E@;90 zHQIxm54I8Ayx2_gP7+UsMMkR>SvyI#lyX#8@{|5?!v*MH-T!4_(d&#ZSI!#h{;3St z=7cg~pH5mup|wucx4SyddT55>tO&Ay(&3G$r5PkWS&Y@Os>4R#gt5K)_n47U)jNE# zq~w{qZ}=f3bjqjIH!i^;ur@5G)UZ>17!JBIH6VPiNLE8RR|CUxBy`+q{qQg-EQ?jt zsood0h^iss=R}TOx~J*V>Vt4hh^l?UpXQ>5nJBa3?H@iICsy{&m`S62i`%3*M`!1@ zO=_yEpVw(T@R5yKn3nVc+%fT?O~*7fAJ;UxrKP#W_Dcr|M~x&W!(w!}05(@WLYiCK z4r*wc$Fb3pZG^J86axk;Z(SA^vZgjz);bfFk#Jo7oW|@}G15`R^d- zyx)_Zg;4}(VIK90krY7Fy? z?_P@-)x@b0t(meL9-3_pV$fXhd@Lj5H6KAUQ7tyI#9fa?NwqPutD6_w>&dIn(%?$(aaE6T>>YfOnk2;Hyd(~Xu7Y}FK$YJhg(az3g9RWpzZ|8U996a2Nk8!;U`9+(iae5xtEU zpjl`~%tV~Z^AhTR!u^5ht@Un(&DMGklfj);C`^Vyh#Nt~sp^Rp1}Xm%o-Qd@RfEXA zVaYeQ4cs4o29KQNi|bpCfieWU+rnl&(?=|6Yp&DiR%Iqk8@mK^bwYj9lKMuo?rfQp zi8eal7V(aHh!m@*pbw+!;cyH?SC8L+=Rcy^Df4dLq~H>xwQGHlxXHRcAF zV4)b|?tl>6JnB?6VT>T<`f$6X{7I(B>nthP<{QJuV=}VMvEeRmZfebrv?jz!2W>rO z*2L^_Q$)jVZW;{(-kipU)`d`{^)lK?PO~O8&NK1{HaEZ};e@wV=&X_17Gprjj$XF7 z0l7_S#>yMnYJ%~t&9V(NH(`TpnCC?Qv*2O%Elr|qtIkCa8!>s}_=#h;WHQew*mjDE z%|7-cmew~k%9i64ZabBvA$Qh7?~1YQNCIb*HMHnNMgJjDb5mOj+zKP>o91R4(FyU+ z<;RSGvtpD}ysg+-Q?kb{$s!+Ja^gS8(ttgF)cB^Q?4#s1#f^Gk28@&1rm!)NPeFy| z${?^sblG+)IL2_GY%%mpwkcd!fBYh77F!gt!!}dlT-YcszN}@`b(`XcwZPwnG@}33 zx4?r0hlkT`n@Ms5e@y+7#x|$>Hihe&kIS}<$~Hn>YB?S@x)F;PH#T4l?6}QTu$4B< zpT9-Tdu%fiYk~O%Jzl(Lw*EV9GZCFENHoRv3^?iuUAoP5m~w2i4&wmza<`d^tvwo= z;DY0)w$wMZ&d;`p@5CwFW~z~xK$t(xEqc(GZ(BIOj!n)kZ9WE^(%YK=bw507s$Ze4 z6Twy0QNM6q$8Mw|_hS{;yHP>JcOEH>XghlK*j`X5RV4DZ$dzC>P_f7r2s`dl>_93W zk>lbzs}&|AgQ3lk>s({EHFJ@g;nZx)q6W+!s~mPFQ&+zPE>&a0?L@#)B_v}M{H~FA zZHZ#=&D(ES;FyLcy}xKqok&b-T7YdOZ|&J43nMV=uzFZbnih;{ZW+0xwG9TEmhnxP zXy{a*cE4o-j_MJa3WkPmX=FxKP7UGOFln)5pcQAc%5GI)^fHv#RNrWp728US^(vFk z$x-Ez2+9$Ia^J}B5YoCtzlcwlsAU%$v-5z+BRQ#E{Za$16h_P7$R-h@?y`q}vDg;At-BRd#)hYrEhAR7$> zFWo15lGfU=Huw#-(YSn5)g}I^DHD>1@bQt%14rCmdONsC^^X zOFHVy2aqYuT9q(&MAewcgA&D~?%0U7UYMRcFtRsPPY!KZBgC{gX-S*!SZkqe$>c|; zQFuDfX)ET%4&}jAPOjBqoGnu7kjM(KbHzQZrbJ#vgF7yLZ-++Y1Q2%blmpRWe29r2 zIxBLQBw%08_V;DI=}Q?q*~kVFq8>WmKPnd3QBid*PGJMX>c~h}D2dcV=a7mq&ds%5 z2HP@@Bx)gxecGvh3+bY&F|rGi>GodKvAq{ZZbTH@n;SF^>f5lGVtsAGE{>IQyOWG+ zXq}r&W!9VjToT;Qm`c?T6$f3^LXaPN?N z8+UWrEpe&_;*?kwRrf`Dc}Vz!l=im>PwO=Y;^3wpunD8?v6Aqih@3NG>8^4_UTq`s zW9zbw>Y2zm$%GSn9m8fqKTH1WokH2IrbC7kTCZ;}MoyMQY`B;F4fnEbI5FwI5V6w* zCVF?^{9a@b0L}S*Kj#npoZpR17b!N!CWZ~?4|AL)--R9X{xot?F7MC$d4KND`;*9B zxxBw%*yR0XE^o>Ak$m20kFO(}BoW)=8-IIz%S5nVx(XiR0`*j64ons9=Q04EMPb}X;g0q-$jJb zdZo96@9pTpuj@c5b4`FXB`Gxin_Kk{%@cZ<4vf=l$k>7_hv&9OvGn?Swp>$T7 zs=tjEtMnDH(Z$rjXr1)NXeo41RIIm7dHtg1CAf8`29qJyij``3v`xg=+avtFeSqoh zs-@E%+A_-mHkz`S#t2>(2y;)axjFr4iS9ct%dxx&> zcpG_#sqR6n?p>z32ixdXq0EQUlM`8?`$Or&WDrcU(Q9DM-x0e=e>Elgim;~@^w6l! z3VN7s3T@atoDVT=*gS#{32n3l}^cB&Vn&q~zM(Q<4OdT=%}%5mq&ylCP>)ICEgyO<9#Jxp8pkZ`IW#h~r3 zmPThw4%~&7`FrUEe=nVAX`ptPnd+pd=wu~M^?Iy3-PLK)Kjbnw-Ji*s{!GrwXTq)Q zoT!{2kjdllcBIt>(RGqZ4W_WVC@R{cQ?p3s>%}%*sch=MiGD3&9DggLzLV3H9DlIm zEe@+|qGhld>lOTW44YN_oS+Fj!V)!Mehhg$cJBWu?_0qN^nxZ!g>wppQ<#)K928qGADeBVm+#XH*>Rj{B)J(_K-qzea0@OU&JtVGJ4u$<(+Pq)#Z?yX!pSMIy2ci1B-ceaeH_oCvfDXBT53J>pF$?i_|C0N0Ss*j?wA?Ow0 z6aNbEnVDO3ZG2(o7F`=(>A9s>fUo&rR)BAE+3OYHJ4Tun;CmZsR)8NFX;y&EHqxvB zKQXem`-m*#zwn{feG+Sy!m$D4Y=FD3ENKxw406iSDxrEyMX1gs88+iHg?n()pM|mw z4}lEl0>oY^_$BjInurm3W9upJ~+4|RGj^PLzrnU^wi+=!Wh z=DpNrj`j5!45);H{wwK<<*tCsf}mC27FJd2gP(3ar&& z8~K8}T2c;Cn-Td^O&1xUd)mnL?o>Go?4|l3r`Kv)P)D`5joj#l#UM0{o$_|gJy^=r zzBY1``<0A_16c1*(pO-5sgX7kKOL#wH41KOtlAY-af>D6@k*>mIE>$dj!&rxYMw;# zOgl-5#^Jbc3DrYbkC1!h9(b6d?%hZv4 zh-sy079SE?399EqiF;H5#OCs$d(B9!V``oyU+V5tgy;E;EOQ4*H5c-svgQ-f*BY#3 zFX`1|RV7wx-SaK}UTrnKD(eLC~QU@%&)#H02_B)y-s^GQ||uMesI5{q^(b(-pfbx^M|r{mh9 zv~_(6WY1*9qVA7~R%i1erWclT`H;}6#d$W%61}ioz{svzwYbnmmTJ}FVn&u})nbK> zta7UFLe1c`RFj0u2I+w-lq~$_UcyRc?j^X0FHu*kvqg?N!|#+&v%60D^!DG|{1c)! z{#o5BX*dmUS8`x5hlIbdoiB5$zruK5rT(arXg8hr&HlXq8N%xzYceVWSTr>;~T@7jI0pPC|NZZhtuf! z?l@Gb%!628)yu5m_c-8bq@?om`cTrmYMOxFG>Uu=Q)OV^k76*6Ij)?k!Gr)2C zNU59o0Jr)hcpOT7%2o-ps%g;Yhs`y$9< zGyYBwkcfHeF3AxI(h$P@2lHnJ$O2*{3>%au)a_WURh57+TPDbx6U(lI~j3x2BOI z=1P~IqRG!FsKS8NjA!~8ALVB}%knUc>kVUS@^cG(ntZlEYw~5oRb#;@$(l>zB8JVv z+(fp+wDo2xWXLwzy#{B`f|DfS`fi}xOn#1gjXWG%AY1Bir|M%=2NPsT!IdI- zhO9xyvE5LwE1-nL)QJTTOB8pUlSt6)IH!=HT$4e3LY-dlt;nrIm#Q;4xXd~CY(AKC z?zwz`m3^MNyr2wis{7yyhD{&*hP9gQ6pFrE3mMx7>v67KrYVp3JAQP%WzcXw}{W`;zs?hbCtyYC@ zTTT3f;^HqYB+(3pT3It&B9P(4YBWRH56gWG`*kx`UCuwGH4-KGeGMlRkA9 z9|kzpOR;N=QmYEC7zXn1VX;&9v$33-51|UEzu6q4`dZb41)|g{eXZ&t8yVBrs@5>F zNMEaZ*hVJwwW@zGGO4dsJz^tE+*@UYJj%!&YEG10=rJ4F-Tgf#f_j`>d(_-68^9Ab zGVQ*C1wgekWkpSWEgqh-kyWm|6iYqB$euNqNoTIJk-gl}vI;-PNU!Ea(a)c^k$v5} zG1AqGTzC4{+YiTapy=T*zi*_F{(pv%|$z>&}?tR^&vM*`^f<{drAjHY~(n1gDk{~kq6e?BVAWuBkS~u zIL64y`a~S(!!&m}7H*Z`!wfy-QiU>-kJ3Y~i_K%UD2zP{=SUxMb=;}YcX}-4Z|2rI z)$-e-*HrhyJ0VxDe?RFKO2;~G7tv4xXhX}kOZtQ)L6)44T|DZDS2 z$vA%|2l_KPD3^&e{glGjB@LT?s=w(EHBDbRGo}tNj0}em_u3f@8@25S3QdRoL6q=r z5aL1)&FB)G5&9RYLkbT9NS%8c*%_VtFiWD{eM1(KnWOr14-Xn3`92*Nosem11Q;BLV zd`)mxtc_t)u_Y`EFB_px?h^>HV%?mo2Q&DEL5VuHFg5}y_mQh^#7E5R8z zq|PY(-2o8fpgqgq%jfue`COa3@#mbchl(CI7xKaQb1p9Q`E!2F2jkDVln+%}r@x$O zde!U*`-8f|=HA!6KoqH!jI6EMQ4R)I+Q@-=*ZnOc2WhX&)i!dd)?0tiwi>4O)*JZa z{1>#|dZU#zKh64MA%B{s_12qg6rfx4>FcQtiE6{h4 zk)zM@ck&^s&+>n@31j*!e>WrJ`YeBsjVy6zNx!cu6b+<%&G9?n;XWHVUEkyW8&l5E z_qZRhk+Zc&;~_@QsW}b0n_6un7itg3!;Cz-<`Jm+>hCsku~W4fYnRhUJzDsl)Pw_I zt$zSK;U54`+Jp(WhaB;qDinROBtzx#89uBi$+U+N^=zTs$1UlZDaR_So-Y(v{ji!0 zbVtgNl_FLCd=2WM0W?1bOnDB4p;ox{kBWFxM|L&&X7T zV)$unRLzJjhoCmA%_1|WhGw^f~!n{Q*U4r!y>!k8GO+6?(xZ=cyB7U*~c> zkzteLa^{FP-Rqrvd_KoBG3ta4M6whSXES+aD!wdAx zo0`wBTHfxkLj5Y%Ea~2hA-l7gHPnoi7!0vK>ik&ZK*X`DFZ6fy#s02dVH?Zr1DC{n z`@m&ATvhx|Epu0F@l{w>7AsW*VrQPg8S-kuqL0Qejn>` z5V&!-y&)z>E3@1Ffe&W4{i982cH5g7X?ELNY^2$3Z;knO+uLm9bp3;$+nI8P{wdHM zd^k!U$?oLC9DN|Uix2blCVUScj@E~mReWfw843%Cy3gj`X7+MME;W0(ja;q|P7g8i zWPNa2Z6nVR<@&MM-qH%(Vb=QR$>V08z%ul7?5Lc~GcmCe8OzW*$_#U=_VQpesaF4t zT@OJn7EiEs9c>6|XCJof?fO}kc<>IHGFj@LkBR2GVh6aKdO6Mv^>VEAU}R5Y@GD&P z9GAx6S7Sb7@ar+3G5Af28DsEUd@#n~clcn8!S9jmG zcqp}zeM6b6VC7b2MdC>7A4*?ehNp5HT^Gu{4Gl?E6p3kcYA8J$BSTf%XnbOz^3;&> zioTY5bGhoxuv!25uo0HyKA{VJCOR>{{@nz=NLf=Po16Q<&d9YdTMuT)TVVc~srnaP zB2iou1{C?$gn@i8Yr<}pidhqOXQWvZ2HQxpCJZU^tqFVD$my{C6wB(lPtkpoY>E5& zOWfaI;&7YJlz4!@#E~}AlsMX7;usq_-Te_8iW*lW*2tMPhl*A`-bT*Wi^xIDc8*>& zCh%dtUNk0J$ws{})iJV3FHDp9(4rTnDOPfsJ}Ml_$P={b+Tq9<9HQh>{;r>Om z(HV?9%WaThHj@wMIaN1vJ@AbpOGMj9n z_T!$w$fIj+5q0lG8@X6-0VgrCrRF;wGJHC&^>>2{|2RZ;2?$LTFC;naL0v+E+8%k&!g@PxY9JXd1XyA~7cx|q7O=u#xo z8vo@*qVZ!w4S?)#ie#UUx_`jRq^{({W$Cw)c(}^u+AEYfjr(kosJwkc>C;3*xyD9s zjAs5MYss~Yem9yv2*X`nXQS~F|Elw4BROB)SoEEcppNjzBA+^VbCFLSyv3$W=&Rnh za+asufta`I&qYztElE#w@o>A9#M}9+Zonj86;^i^9Wxna9Dwnn?kbX37C3r3+{5V* z)zjf#n=+=G16J}eSjS=5~*OTx!RVl<1@JRy7Z zCpMRZovP_LTAhJca1?ElTz-`N60$l&( zdCw;iADEL#`ejm9W}PaIPZb$%FkKin`fv$laIaj-nTP+Wu|q4LnpEB5=j9T0XV~mY zJ2FvS(kc8d;W$_MQ$c`Ag7sizEpP-^)$M4T&Jdk12%DYhptt@#y(IMZ#@y~Mk?%~gO zh{?BVCoCJtdpC3Kj(Dn#OPgI*k$G5jra`QGd&c~VDlRp+ zy2|{D$`+4zNmscT*|RIuuy~il&{j0a?ibev*_Oe`Xn0&+wHU4WP8Qn{Hf7BHMrP8; zxVT;u=|q1#jIxn0lxNCh4;>SiIk&z%-B;tWY-W8z97% z!@ltq#uQR6jjxuJzmxUwL{0@{2`gclvlf-fTJ1wp^Y_5N&$Ibc|SLekOheL)3 zj`QR4nlf|6k{`eDhhFVrA_ymLyAzw@2q60ds;c3 zuZv$b946BAY80n_ZzJC=&!nYOZeRm#Do>B>iKiQFbYn&4YRnY%$GB+Ji!0KlL-BNz zjb4Mf_5&vS$})9pyygf?|IdE*9xIkHrgr6^py6!KQ5OY!e!|bWZM4CMwgUjt{ej3!MOb5plezB4LQa= zWTShPWroR7ZB1M*W%eyg%ZW`rY@_SSGGAgis(-}g;=lT<)WguLOSl{ zxZLRQ&J}gwmAJh2$U6z^fqFGAb{}uEbkOT@Ia7Jh%VPFsT<#ZnSdL&>kISuhZAIGT^e=lmnr*V0ambZ8(gg=kV zDZx8ZWWJ2cOIf^_s0aUw%a0?yaU%asT%1$h+cMC;i_78M8z=HV#Kp?t-7TCq$K`sj z_ecWapW^ZwKW|PU!oS2tSM_Qo94eOMy0=Ew;Yjg**etvc&=^V;%N-eS2kDH$V$sjM zPj*1Ks90X7<26eD#l`YF32(XVDam4a>6Z5>3RGQ+#oOy$DDAvMvD^ak9+GzMRxB6) zz0DHdu~kxR9+9^?-t7?FYkS6!}4PJIf#ci9HWcnV!hWS?VKqVe}Z?A z$n-20o!BdtcCIOw8&lo|(#~G7EDK(ttj>LkWfk`lGN}6%%Z~`W)1;kuE*4LqcZ!s| zOR@Nqy*;FzcP*A5k$5wtop&pi-v@c!B)ogEc(%NwMShQBu@`!eNIUFVEWaG^UY2&= zt5`0bdacs7`xJ}S*&8F_eT!wW@t&1--oIFWQtAC5?L4AbuF`q^rJY9>i*MTdN!odI zu^ei=3nl-t#p2fSu9bEkUo00-ovJt*B6hxdGTwg<4otEVIO&CQpqfx@v;yb+^l_lB zCK{j;z#61dlMGM+V1%?!odMDS&cUcwhZvw7KxG)fWCN4|xB=r-O)-EA;B(nIrW&9W zz{6mu4mCg~bbfj_snIk8R03Ee&3u>vDgZnoz;pwo0o;sHpbj@cIe@f`ni&Qt129_F zl_Lz`0(c06OU*PuDS+-${UZ&K37?<-tBkgz3{VMR7a6Xz3{U~!ajdOswgJ)rGP3^E z8=xG(4Ki}(7@!QmiU@$Y25<(a=0nz|Q?h4>|1C#?Olv#Fy0m=YmrM4#; zzy;7v)}!SHC~3V_qWB((wIW2-ZAij*QG8Dd;i7mS z@Or3t=Y?3*_Qvk4))dPsrZ<&`^`^pw@9%oyPFN)MHcZ?uxZP5N8CNmGgWPAf4~)V?pKqDE!n2dzv{8TwHx zLsS+w7gJf}=KXKIc~iOhNh>!rcK%!}#!in4{x8L%;CsB9>m=lAuJ^Mnl%a$;;JuX+ z4kzT`=FztiNrvVME=Y*h>`}KbOo(pp@pKqV$m!7IsiY`z z)o_IA^@u0L>)}x$FHVR;?(xW-NXU^}8*7sZ8f&T3rxK#mdpyy1Nyv%bqYI=YAubS) z=b9Z7a`5wbg6Nu%6NE?iOSgo$UpyY0x+mn=7& zfC0(@P`?~$fHDA7IYt@41wd7Bv;j&1P<fXw5owJtQ)0F?l!Ka4X#1pw~3;|-7o zzzy_31C#@xE_9Fq$|Mij9uGEv3xKNN1Ot=;pms3P0GTINYgKTP0V)AdJE${21puup z8z2pU>eFNclmnoiJH-HH0I0N1HGm6%3izQ0C}Xqo{sPp;OQ&S3_q1VF8Ax&bNx zP)9x70BHbJTV@!bTqI=X9ASVm0Mt=u8o&iWmE%YQl!}DtF-I97)4tm1$_A(eK=o<1 z0V)9S{84X!GyonI<`|$H0JX=t1}Fo-qryA`xB#fcXAMvafa>IY17x0Bt+o0E2B-u; z&2OOrDgaRPYcN0>08bZ38=xEj4@SorpbP-D`bGn|0H~rbGC(N+>ZnZy$UMDTtAfo2 zs02X0Zm|I>0PtXRtO3#j$U&gR0ObIvJhvL43;>nIHUqc-sKhTZKq&y8gO(Z~^UP|k z8XsqXN&q}6EHglbNMM0d#~UCGfa>H41}FzWHUC5dlmVcxZMgwl05n6LWPnltuZq5X zvH>#dR;T|UD(NW(s02WBYCR05zGZG{0U0E`jc_tyqU1E3l45(AV2pn2<3 z1C#-vt?e=cxB&K$A$7R{N&(P_euV)t&#%_E7Jg%ZN&xc9K(*2U6#)1Rg)0q^2JqLu zkhsbK}mtJ0RDsxS6yR(QUEl&{>}iI7gnbSU>jD~8lV!uVlgXT zXMhR-C&*dq_XbDMI05}}VhPuT7X#mT`qVy*Nlmoa=*3(-JPzIo{m>O;~fD7QC z(l38DKq-K=*p=1o2FSd$I$Z>HNd3hCl`pN%d?z#N&V<}MUB6mRWG^O47TXiqOa9Z= z%f8drdx;?;#M9RM{?pb6_Oyk&p&uq@vQ@1;%DR}b6&|V$wzZCB}v~oat9+L_lYW!pX3UwO#1E;0r9hYR+ zV{P4fC4DDJk5cBHgME@ib5ec%QvIwHnD3mNDMEA<_4l*d#j-+qyC#2?%W0rLr`>E$ z!fN;A%{i&TeyKhDQp1u@=cM-aOYP^E8j<`uCv|{dYNVCIM-Rp(OIvI+j7!P~5R5Nm zJcSC_Ruhx^<%A~rbE?bb)UHlW&JiKD!YTe%IF&;BtNbLP|JMIywu`Yh?2GoMrFRI>Uec~>r{ zZ~ZxaXLAx(o0A)IQvdc#{p6P_OgU|~hOv}yv=^mha$&UNF8#n%FA*ZE-BM@uk+Hx} zeGQ_}W%BdvJyYXy84XSOexAJ-WlCfwACSWPdQCnfQ@&X`iZZnJOir!H$xQLfOf@oM z$GJbT(;1HA@%8r)B;>N0_X9|&2NUx91COrYhZ5on_V^RS)m-4bPZ6osB;@h9F^YB`I9_C9y z9#6p48_(zErS1Auq@9cx&Y;T`qrF|Fq7NwvT5LV*BW)-yE|p zA@7>eo{MJ_^jz@1&~pj7PUP`D_|GRcOU3x2sTUIRJ8q9}G+CdJ)0oF=zOQH*zIbf| z3+rcJGw^Cc-bUc@bCa(n+?FDv+pEQhaexmdGcM|?)+NSCT>0+ul0YzJ;vj2{yx=t@+~o+>AvLadOp{9 zz4ZMTIv>7)?n{mHO#GET6Z4nE|I#@9w%>7k^7san?@c}>$ma(g=B>0Jb(m-F&HBvE zSA+dqLFt z3X*i)(4thBq^i(6wPtzB+YTWqFcqC+dH)sDf6zM z{mjpS++97sD&rts0AH1La8h2C;^bD#})Mv@Lt{(|WUjnkGhGf7(x zU%+*w#`zAzqml)}nYQFvN!pU>6rP==9hyI|sZVkZda^I7W7uKZ3EP;Y z6PCYbUS#--@uf+3AMLWuNjgAjFJGLby_~lBW0Q0`(+1y?yhYZ1+Im})bWHP$BW*fQ z+UA!e>2#)TerZx1qaOAmc#bI3&-y%;CB^6A@izYPx+(Z(ofDE=Liyp{6O&w}X_{T0 zq-mD-EKf?xJxgtVJB=!q$GfG!(#^%M#h$L`3V)b?hOQ=GlYC}U-kI#J6G~@k+BA`# zour9W_HK1fl74NPJkQmO0?oJQCB=N(FZZ_7i>SGI{2|`ON%Lks={6)bvdfM9zRcooohRQka*y6F_?r5A^@!nX-c}`N zR6(AG<@=H}Ec1O{_v^HLlg8hYL!_r@gnuAOBRpTf@t_`s{J7S`)PB9sp*g9)C*{q= z+93RoBn`qxV3?>!l5$sE8_)llr16|LSs&G9@$%GTNx3}b@%;;H^@!wa8y?pS0WYUN zq2+00elkfTGe6JMuKS4w^QV$DnDd9XPbcNtzsJ|nKEr(aX~*HZWc(;Z(2MYFQoIOI zSj;z~pG(T8q_u_q`6Mm$d`J7s)Zih9w`;3csi^Ba;IAd=7U9n&UQf!;CG=gHH2X)`**hE{h+NbXoL9 zL#Us5@bLJl@n7`(=4NQ$2SfYq^PO#b;|LS9A7;C1iv`N5lWXAwC)3e^F5f!6cr%4yizH-&(kmW)8H;C z_8q_bS(1`p-Fl6}V+WmvZpW@Ex*hrAfNm*n$#g+>Px1Z@UnH`lmgl#udZefg@DAZl zDQh`7mvC+f!sP$Wjf5CkCdlG1=SaM(kWi#;k!{PQq-*Yldj6tC(_xE zVv|!DotB@!s?uTlTzjVIbEPk~I>pOP{AG7dN`BGj@m7DYl-%mqz8o(_Uk=}P*jwkr zujchh$%`($=dshMzM2F5i~Ul(Y(<}9ZHgCy_!`BXQ}P-`kMGRvuk+!{W_Hny!t3b+ zQe2+sU*9!F|2kj5ygN^s{p=^@2dB6P^5tZEq~!N#UX9G9At`xft;a86?#(l&cKhv< zqT7!@W*e50AG2v!*1jpavgo?rFGbfi-In{O=(gk=#D=Hjon!hQ)`*nc!|JEsFfy74 zR*%1F8^aFtK6F50tgc%<)_OHAMZX_?Xya4#q0wi4V2VC-zK!Cb6t@N5>pxhhrSEq_ zioRdo3z(SVy#V@tC#877j4ubO)8+DKJBR4B{7lKAJSgi6gws;=fzuy&Sc?8Y`o^bg z{8}8;)Zr;=_WYsCj1+yRd|mz#sl_tU=#!tB;)Oc;;g3x5(ii=QN2TaLq#tiqO8j^p zznM2%bK{+b`V=p}@xyv^i06ELV_NDL(AW3U#Y*q z0PywIj-HnPrbO=3?hB28`2H@$fL09#5Z~W$aVi{b0P+2OET__A3;^F>Ek2CUCf|9= z<=1E;;RmeEePL)ywk;>H$OwpEP*fJxWB~XDYx!B8#wl5RFpXcSnu-tE=TbHsLGc&T z&c4_H;xFV|%8xaG_zUS(XfXi%g|+;Ek9_(^e^D%#ZL5(H7b0JI*=7K7A=03|!~o(# z=?!|+o50)DM?#0^aBb%FB<~7K-a&kGGWa8m%Bq9675&aR8oY=`mOni`h z>*^^65FaFej(n;C#0SaO#GhsW_#kVw{UVp!uS}G9Bh%1{)aeEgZzR7FdxinT8%eL% znFfG251tH4{YZ0JJog5IhXBuMg~qx)Wm!{EEjvei4_m#NgfKlzyRXG@- z+M1`0$mMX6i5G_^-?4kK0mPxnpGL1R034dN{tw#YjoSEzR{in0tbT0-#nH*v{9j@K zadgrha;X8t(YXqTNOhS3;OIo{_z}JFqjDKuZeqpj`H7g6t}uXjJ^8!8-xxr=p8S>I zN&|@3lRla&4FInv$JoSX`CwCHu=lPqV(^95PN-kdlx=I6I}P7oX>Q4}`K=LwceIv< zom|Y-CPv((^fp~%0Jup}=xF&I+g88!lFQ|HCJ|hzWZKC(c&!nEbG0`2k=R@Y*O^%H zw9;w*djp84mG=d&H-LCr>CwBv0PwWdPWFBEFqh|zMnF8T{Cwyi3?QCYdVv3E0C-*v z?QAQqd5m1r(t>|-8Qo;W#2?E$ls6jy{@7YnRlbfk8sFs052ss@ zFV`NPtK8oWDn4eu=kOl}5FayLsE-%`K4!C}Ovu)^;G;)CX0iDwKTK4{)8T4w<9LDTj9tO3LaO~3wg1`r=KKdGszkrj~U6{uGX zkOsheRT~UY4uJ3adDQ@A$WL@2vkx5Hu&AMJ#N34q*`?Wex%^)>uTeh0(#AxMyB%R)%wTa8x2swM4hT3l4Y?#}aowB&zr!l{01WHj1FCe{dfXw>U>3c+t z`oI8{0QkPoO$Mj{z#B;)8XygTKX3TR0ObJq!-J0vPzHck={_-l3xF4)J~cq;dTCdD zl5;_Ji>>A}Ba?Z>+`s$W0F?lE|LzL|RJ@``fl&&^wCE4H=J%j4jbIvr+K8KLvad{3 zIie;mSu`ixG6^3Cl{a$d7lVHpnKBg2x2At>02e@eZ?xJs1}Fu615_Z5*c+@SndAC{5lACN4KB{A9}Q3rfNyTyY=AOkp=&Xz zr2z{Y4>-Ae{%xdOB;&W5elkEQ0A4ft*#MbW&4syN3{VMxSA?7{`t(-;fOn`u21vhZ z_MU^r=L!s)xN^jqZ$#>kLdvV&a#9f^RR*ao_MOp9b6bvIj1TG6wKOcn>EobmzI&r4 zp$jg&0H_R5DmmppTAC}Vz{F=>lityvOzd#{D>MR?uR*_n)mX(0P=ORPIynOsnfNr~ zeH+TC`nLL9sc|Dyj!bzgv)BM-0QdsNgaKRtyhD~WKq&yeOFLzN%b%C96PJ1C#^c4a#l?C_$k;9R)gL~CbQApnCxSKN&#SK zQhg0ju@P;x3?E|0GL&Q2&qSsXDU}@G+PWm$f<8x8b3(O7s2o}H3f;~IC_}1_r@Id8 zNPi>dA{}o)?qYyap<;HMj&o&zk;uGd*G;1+bjWyDBUK5hQDQfe&uw>DHwGGsinm}) z5%ckG21p}`*u;3K8o^oHk-;D%SdNsu9=N*!%8>H#PF9@3Cf-E?UZ>o{0HpxZm;$=Kq&y;5#G-LnRjqZ6C2_F2B-wU9}EmPK*c+#R)_Ch8$KQSY=n_cBf0*0 zfdR?^@D}b!1C${@s1Dg+twx!67YTS>cC-OXkw9;4 zwojECXOdMQAKqdfZ-6xN(Wc9~C5^4wQA@P-GS_1V8o6>LM8Y&*;f6@bzdHn zjYK(;@K+&I3{Zw7vL3)~m8;NH6Xyz<4mKT_dY3HD$sKCsN|7mV4^J~d=6&#}J81lr z?6SP{VJ5QjebiY@Zqp4=0qMXF-eEu;ZsgKP$a~E*3{Wn`P;;znZpAmboAdUIBaBEH z((o4hOar(`lbtZa*EC0(n9_W1+BlG_=TSx?^MMQ~tG)ydC9{lBC4|_ZooGR`jZ6h( zCO0>?`7|XTp?V{g{=i)PpJRY>mM`BW=b{!g#mzNhWk|=L1I#mk3t+hHw^;*}0^mnE z=NlliNlz7hE|{E^Z<#O6c3dwP7}?5A=9eT34N!r^W3yNn8s_GF0(r%w!APZ%jK4QI z+5qJMrtAh*#~7dtz+mx}HyXf2#<>#$j1uy>bDC}Pxi2!Jr4Y>(j#27s&L$(0`A{qQ z|A)Qz4zQ{^!+uZ2g4oa~f-;sUsKE3Y6wztG$TX)=6mv2R2N)e@aEgEuYhvt1v5UPY zb`vX#v3HZGv5}Z)VvQxSMp5tcuJWw4_c>>ne1F_OzI%y*-&yZ^-_`rtd$U-3j9{nt z*N(YE4y%?LhaKUd-b;6caTo&!^+ZmuaTpB;_4$Q9 z!ww%xzaX2(n4!0?PI0>d#3=H1=OOA(M#w(m3q& zFWdbz_TtHG8b8^{cZ9+coKh!GF%DzkaGdP-ooXCL!$CcUa+-12fhGez;ORy@3jWoz z4rdsL?cq=%XRBu#hp``-hjh*|4m*A1H4H}aS4O%cysPK%&o&NY;9X91>GK>T7!83Q z1Tz==tBju=U`>6#_FUsI3J&U(o97va?ct!F-Z>}e~46Le0w=Omgqv4>QTfD?L>;MP#=+Yt4E%$F%F}kEfv{6cw(VmYdmcaE%jjGb;e=rr{+1r>y5)sa8OU^++ZAbgoAqS zS06g7rU+DUmG8zp|VysWq)HFb_l7=VZ?4SK1O|N9;Uf<3%Sqn`P#@{ zICGWNOi!VtN{_wjb=c7tl7Fkh+vU)KM_2dZ#C&i0>OEYAV`oF6zQ5}9t2-Ai>`c!{ zcXcgk?{2bvqqg--@^#u;E4B{8E%WFzNnveEu7x;TwwEzARU3IC`4WvJu7Qzbv678G zkrdWO6`I;9&^GQ${tPxyBCxU5wXkuyq~xxou(lx=YCIciKBsl>NG^k} zF4=m~jp3XrdPh=N>&nG?PuER-wSk+G`@;ZcJ_!6wF(7ZkkKU9N)&}IVu`@8Ovm28h zJ(a}i7>nb&+U=Ip5L2^cWPb2>6tB|opk>$H@S(bvI< zd@vw-RZ`gGM2&C6lqo9d0+#5-$@5?%rEH|chJ1D*dT~-%+mNdzp@^h8F_HtJoT>tS`L(Xe`2 zQdnD+TQ$zAX+E{pGV1Bv`epJxm_T`>=xW8pcNj^dzf1~i6LPyL!$f8ZPe?utL%SAAS(oqNK34B6kg)6*DKSP6ulBp~-U(h(!8STuN?)75RKm^w6ZRwjy_mot38c z&R)NH&P^T-eci_lh`xMWC^|POto7wav(wMArgassE!hcUx|u#K#=3FeBHES|*2d%s zBWG+V`{p{c4oY^wvd*kAzlLQg#pppvVQpD1f;-E&01?=1VJp+->XV1k+~H!bWgN`a zCxx{+xex2i)kOS_}{iEfn?)|TX=yR%d`tpcVtQ060&pTVfE zPA`d3c?ooML{eBAm4_;vQ9T>B^9UWWO_Cqc#`d?s#ut0R#wJN&Z9|@CayF_v7onK2 z6S%l%fwquLz61-plRH=}yt6YbB$LA0f?O?k7RHkK zvZAj)y~K{zCSPt&e1evxBR5-&$VVBYHz$O(5qT6Xml3n5xH0iQjOduG79+EFfRP&$ z!rF*Dlje*xEnd+l7a+XZ{I!XauRHw%+K@cQ;tZMlVD`L-b}AF6)6Q;p!Oqb#@>V8g7Zj%t!R^+KPXGNw|mF;#` zv}Ixxv~`{TgJ^dmSE5@cgtfLjPvx{jeJAVa#)*ee5$3A2Y=1B8$Q%5l8z+Rd9eE(s z*_qwcntPx~B<_Q@j#OHVwM!u<62jV;yyC$b3q2yDYs&ZWqu~itI+_295&0HT^!vE5 zHX?7;a7MB&6|&CwzKIVodWrjB`DK|TeG?bfmgQktXE~H-!5;pLcpE(Dsc0S~#^f_g z(J$h{+L*km!Wj$gu$Zd!uXq$zT9uUx#EN{eD*CUuu(l#kb2}?~AIq&)-;4hTHCT7& zuZaF}GRJx^F0A$CIYOt8g}paxd@Ft@v~^Z*dq1>Kf#>L3abc}3&nr7^bpb+c@N}d* zm-e$+{xyCv?2J;WI8^NXZaD1xH7=~}93QYFGmSyFP+pIp3xm2M-696JL1mA=9v9XI zL> zFp+vFek+XV9_>{z@*f!<9*PTVBl7MBXC$Ktjh!{|)$lh`MJDe7*cpYN(KT^lZATuq zc6QV<&6`);6F(nvU1C2K{RR|J^q#n|*8dEtbNYIsS=ZCEl(p!NcqdF?$VI7LEhglX zd(k`M!rFv zf5%|zhPbdcC9mmqrp!i=zG1EVwQJ%#!h~)lCx{98%1ZQ_xUe=MuhMWPyvh6(@$I0h zGxq^e-6sy!E8@ah_0>S;R<~3H8~O$D%MrchDr>(N1Lq+g(F@|j+JL-y#S2?5;^=6v zieCg(9ron4P(4zttcnY3Re8$YskZjEclRyq>0P4L&y4p&UC$hri+WE1)X$6yYjt@p z*Qs+3gd-Zc(0zb7mRvl(?`qBQHa6X1py>lxL^fp^HR+9v?$1 z$%kM?c8uXFtgXl^f}E8sm!EX1j*E|gN8Rl^E96z|;du9Av z)e4r^`lU3Z*Xo6X@%T@}TISAX_taabc}5FG+FwUiGgHoK=|& znGv4@d%BP}e+2gA3$xJ~abayw-W=rYg;#LKOm%#Jn9*HYo0ut=R#_bv)@J0TM$XIz zcXSVkPiDNX6N53SI0wXqwLy7Bf-~5R$93gGoZLLF?Z!sYk?mbN$EU=1hb1%tG_6m? z(!P?yDRE(KN!|5_Jf3u`0tDj?5@yW!ckbO9a*;S?h;{#W?a^?umnuq5B5j^@RM zwIzA$h_i$aH~R|TG=S~mKZm`8RV|w(_TJ7rdblS#|hv0Gt7_Y9jp2^+=I zgujjnYa5pYY-Dab8AG4PR?|?682WV_hCYu8YeVuL78jWu+oHzWr!je1l8)AuV(rhE z?LX?&J5>Ux~aVrn+o-EmBD*F z1@$v95=Y;O32SwE*`rhUAI|e8tZ&68!Hh2MZZWeKIT3v;CalfKn_Qe3#=^|{I_(zP zUt*iW5E?1E@w>&)6fyLdn6Ne^?_qL={P^e;y%zf#D!K>yuUI&LBUpGXCaf*U%lVuI zQ+3%cU0?Qc>>XOFdK#8~F&36yjtOf^@;agnOF9~VjQtJD!&E|!6Xi#?g7P0@!dhA0 z?3JOMIhT1Z_8bi9dh(PQdTL`BdM+lc4au9ZoFV@bo2hC~#qOht&7OgYSCcUDR7_Z# zkoOom6TuO}WyoW(8<-)jV&?&|^H@w++mTnRIXixp#lzFwgZh2!JjQ3W*m-;e?EF3^ ztnJ9Vgq$67RxwyV`atX~nAF+*iI`lvB}_gL6V@i>-DV+^p?Rb(xVvNXVF~}C22Oq! zmbS&97`;0ttS!ldBhHdqV7to`x5mCh1x+jU<)VJ|aH!uJ6V~eT(k`d2;^5s1GDUWM z>@t{1DKl%u%#&yn(d%Qv+Kjx*%QJ)b+UWRS9h1!uofH2R&GRKEu8s+7O?l6*)66;K znV6g(`yPdHv5HCUbFjBPhK1<)F=1^_-caW3HHX)t=fu8-0Ue=J#lUSb7&s>;tPRLl zUz`EC;N*6qPl?H9YnuxGNzoo9b?%gyu-2AW?>X)4TRT}NPCt+R45p!tlHT=sn9fHe zqd$)cYt!<6RcAW1MQ!ruxY%K^qT6SuSo!k~uyR~XSX+@7bUG`|X}n1#jd`oT>3>vg zFBsWhMdcPT5|u`NR7_YKkuT{?a93~V)bb5g(W_U&^R2r`GCqR;iRtB?B1ECfPpvL5 zmJX=%V>VILmPkZQL|5wtR6F>Q-wdM0-n3Y6-yz$84@r_4syj67TVOwr@k-XJ2 zwp(QQ@TqW(MB+b+#5dk&_`btyksFDT(fG#0hs)0>ekMmyRz4iHVGC%9w~eCF+L7X6 z_2J>CViV4lS%PAd}MTZ(i+?h1~=D%iNO)xPgIc2caGGKoCMec(b(K+ zZ3z>M(^kq8l(%-u!-tO;zS(fGI8tfS^EL@+){eBnZ#xb#9RqJaatSlK2z5K>SdO3g zu$GOh^E1jgB54xb4kl(v$&ArP-^j)|uTFnQ&kw@b$z+bwAL|q({5)oYlJ3l;sGqwq zq3Y+ZPS<6|Zrka6Q$Bv|e4zP^Ku${n_J9{D9pz;lY;Np+j(2g5MDTh!Rme!3OU+&r zqx+B2&U=iK>UF^O7gUatyx2RbGY{V7Wq%Xsad^n%M0hmSPduu#aC9vAgMrrkd8f*f zxGHHhl1jC-q8Ci%6-4-BR!wtDZDWHtPM$nDzo5>EW;C|6)>PB`^oBOkEma=WkNVn% z#%4GbIj5$I)~XqGxJOtA_k88U6gA@Yh!(FRjRqBu3}D2wee~kTWStU zRkgI{mH0j@st#(aZLY~H^c|sIQ_)gmVqnzaQ|#sy`#!508(P}xYfRFo)i%_&)}-ny zT4$sh8|vmVvMsd-*ECK`)i$)kNgFUub&UCS|kC5oAq6b!~+z_`)KcQZ0tQlNA>g>dK;JP1Q|KR#a>vRyh}WsXe6fQiejI zsNB&xFdJTnF~;v!&Dr_W~dF6?3eouAc5idFn44Oj|Aw8S#|(6qH&^IbtN9iVCf#3>z&d zDO2Z7v~4^PjdH7IGN=O=U{nr477o}`bHRCzrN!1*_9QbbMv=ThcIa3wU2O|Y*c8%#V13QEiTrRBqbCFMl+Bp*`q5sNhq6V1UNfw@$mI5uEm|4Akp}c4w#NJ6 zc+MGGi`((oZFfi4z=HI+me%I+=m69Fa4Di>|}Q>Q)Z z4%QkGfii8JYh|3#5mvoyrau)q&ztSXtyyKAFi~fpjp-9|W!wZz%UnmUl_umB zjJL@t_Yz~>&@g@L))`H}ca~UN5o&%|WE173$%SP!B}2TxXi?m~(5xw41|syrvqJl? z%_{h^J*A79jc<8M=dJzC?$UX6i9-yt`Sv1c>wz@~Q8o=P)>gyD+SMF*a^>!2UN|vc z76wuy*^`kR2}VWEzL!kM3mR@@1 zUk&|i?&80>qPkW(f9+FT>MKxS)#y^-s3-Q~svYz?K>0%NQ!}SY^*{xMCAzz@f`WX? zity$GnOJMfbBucdt~&d!R48)ph;?l}5~D+&9Pp1thlKisCW$6jN&zh!|S`1T24SY{7%%5CX zKDh+`V6r41f6^1moZ0FctXu0-y8kUeJPHaYmlu~}ty5fHP?lc??ev7=5~nbuq9tXN z?BZFnL!4_H)LK$jkb0qH1z4@tw5A&L3QMJ^x)KHJ%BDmwo5fYisg~<9clx;cwDa#DadL}_8`sidf&yu7fu z4CP)}QY1l?n7t?!`7C8d_lzb;NoJ{`Pg3Indq`91wX;`9lZ#EwHVU>7CWjS}r8N^K zmsIQC!rGS}dGbW;sNqk|#V&PP%N7wtOrKR#351}iT31ACF?$l3RzeMQi-Wp>WEX`D zZz$c&00PR`i(hli^jhq`Hm91JYo@93T@_4Qi|pT3RAPITf|Qb|4Oz9lTiZ}q+aP;m zdOT`q#26KD!RoZO3j2c%Ew%I|bCMYqvuaW;a~rDEtfZp3241RDEwd|{QU%7?2D}vx z&0F!%yp?<2%r;kLV`E*auCZ!nYFcxR-3yjT8M#^vZ$OUODyH9q+dv;Ns2{VPIG7o| z1w2SNY88+>8fN94GpThO^3bX_fu#g74{2>~lL=&Ij@r%DY!OuzqIz~k^E9lMrq!k@ zTI!8~rsj(2^%dA>IRM_QuYv`w4|gcLud~Z3W^FaVbQHhs#Z%q zCchQaQ;lt{O>M0$j7VpRiy)BhOVi!`odZiu+|4gaJLC;!OYm1$3bo9((w3U(sc9`n zMSe^-Kjy%&aqjD1fM+$ku(8zMkE7N31Nc5mYTUR~$_P@a@w&fX*xuKl-KUk%YyV=r zpe3tOE1}np1?i3~fh%Wvl6|WBn&#;^Hsy-c7`I$@?gAOS++-`p3^lc?#LLR2$tW$AxF8abMB{nG;+w>xabauUz!gSds*iK=Zu`++c=lecbWLcW|cBhM&D)m z@IBEuqdgki<>Gsiah^=)$>NMgtBe%nTXzuLC5t461(?=qGa$H2?kM*{x)+K&7RbuI z)n*sU!#L?gMiTMbO^^|&KNU^2Di@HO=9kSzR|?2YBg-g+5+@3m0UEy13Kqe>nY3HmGi?!!Z)`E4qW-naL>WxOADIF~qIi92NG9$gMHyi_kwqwCbT7Gf6g2_prikd`&HR#$V& z8Y6aNeM&W1`MaT2>!gO@3HOkP;w=yH#NLYB1G3pI`6~WO?ZALY<{UWMZlLDO zfEZ~g(;`H(E-W%e5zRn75O0-rZ7N?%^O4cbMzOXA8)qf?Vo>EtOVGVQ3lLIkK%j~R zYfrpFDd4WMqNEh=vwZhb6@W_X?4Wx~lM13#I=DGuQK3#JqC3|Yl__hgt323uFIVoW zQ=I3!7b*85De^;u?keme3Hv8OfeN`uN*f)IjE2Z1{8y|jsT%&%pu4h!Wq2ft`GRh4 z(9_u@jYR@q=u2$QYSAKJqyk4()1t+m$ksG1>GUNw8@1>#Uu3e;*gM=8salN+p|!fK zsHI6IR9x{V5?$g1DjacDqeizAs8B?phK(L4P+^EbmB3ObP~C+HREG94*U&_*CzXeL z@n=gDBGc!2l1U(}PCk8zSA`$eAIQ+tRW^e3832!VkQq<4Vyny6n zPa+ZWg!qZerU7|jP>yg>%J6E|~J{>2Y}yiQefe*I>6kkaN(_kyAQP@eD^) z`DkuPRpsHTPP(@{5`8$Ds>HS}oN!oJRo8+=|0D2*9XL89WV#}|8`J9=D^u9bwF_9e zyo0uh+SMEOpmq?992MaL#5`c31s<@qbx>O)ZeePFvhcXj_gC3mQ8g3WfYX~B+nQtt zOF}DzuPc3DH7!*YxK*h(QE`$dm$Al=D=3r`#_Qov?`5cMW7+3uG-eQO_oqM|nBPR- zbvU?|IwyCGZMe>NJ|^}`;bva}yG1P(xWbyneu4IWi|@UrVb-jQ=4`%;mG798wYQ-Y ziT<7Hwe?N7sB20PO~&&k8*2-?x;mFE#br^wzx8fZavnM;*$-etm2wl#=3CmD#18H; z<9#j=;LccSvA!897bY=lh$%+J5rE37lKZc+CDvO#1z@9v0+vTCgG?Agi4 z^!Bc0?JMLiom0Nk1pR-g{(Gn&Sl`sr+E%F=dSzQ}U3F@P?9`#7M8k!=uC@{di(Bi+ zvatL~$lDswTB}n{70ng(vPZZ)Gsy$p1AX`;rP_sk0V<}ww4&pyOyO9srnL<#=Zy5C zpzw{GUMyE6m;Vq}l#A<_!Gx=32i_xTs^u$T6`UVpJ3muLDpXI04(HXdQd1i)*JlK? z6z^8o3U7rK8X6lK(0Iq;WzQK~rl}O(EZ9BJg;kr9OUm908>p^9m946fW|I-_g7i|n zEKxpqr$hgk$_G0@jNcuAEfF3atJsrO}%HlWr2J;g?&Wzz`MgPRFv-k@?e&zJ=>uhR?&2wU@$`k%jmJS zj{(mOJ0kq$FcQP=fwE?WYQ%PmsT4U9J34GP5E9XjP! zR9IFjuBVGDmH^tdumD#h%8N>i%TVp)ddL|f)(8GDG`X;_s0f#Aib~5%ip$DM%Ja*x z#jkyyWkRf&gOf7cUig&_4h|9+oX)mk!O4Y$YGDI`d)6ROBcgI|P~98Fq(a@oJx@95 zOM%Kwxt_0FB|$JIKJ}kAoPJ!OMEZ(?Cvslk=MsquZ&)Iybf~orXrxYLauG63cq^+D zn#_byQzUws6Pm1qP?JoV@q-~E()g*;DYGVuOfvCX6TYwDgeJ8RYQmF>PH55#p(ec5 zR^@{qB=Z)-uO~EtiqwXBy(c!oir9vGgC{lti`a&IlZuwPWEsfZn<mKdp9p}~B4gzmaVX~U7|qsp4OMyjG{B~OWl99M>N z@oBniOF9zxc8s#56d>^9^gKfECCa_9xVJw-AZGDSI=x$f|w(&HVB_d?9Ih$LHa%Nc2mU z?4a9M;td7s`}iTEzb=pHq5?9FPzUmrr^4`*jR5xO{&9fe$fJ4O$InM8J=L3%u20X?~ z6FLeEIX*FtBWt}tlu^FIjDa%x;%BA#+1GhgTFrT?jDwltzzg;<)Cg;*Me&;9(fct* zYZWyIT7#dec3}n&jR&IU7x+Q&+!ia97_5zAPNaO}$3yl97>jtPht<2W2np8hGUsp( zk5cN*h8_z$Li6!}rsw$y&$FG|M4vj= zsEpFeStdrAlcBTYY8DhdU;QiR#XX%1^7b5$X==tq2@`*1UZ%jQF6``KKDuzT*e+q` zNOTXgaGX_vbre=BsIfRT!hIw8kxI=U=$0g3Q z(F^3`$}bKlR8>z+tF6O*ZRsjjzyX(VtP7Nnf=f+vvvq-uWAON{%&gQDNvX;%7@Ahz zxWZDIjIWALYiz1%FizrfLA15LN&Pm{q06GFrd0ourFda`-Y)az;eq9=qN!zcs?%;a z;)D~Py4#oJjZ^2{*vG1EoK`taB_JR1#WqN7W1Vr3tx9ZjU?0T#z`pFQ;!r=gvdt)A zoA)+xl0-;0$VSfX%AvVgImn(3Hoj`{Xm;~-HSrk`?I=l16?VjrFnSY3%--jY&J{NJ%K))w<*)JZx5D)3z zUeALo4S0y%ipe;35Ed&J^J5N0QGlmB-S}Npm{4BPP$>ON>-icw8H>a9d&!QTMeTP)$ zY8$6w&6-`7hXa=W&JNTxyFr$#sYGIbgcVaCBe6f_G$}6-&K2Cyo8n6@u+);iBRjBZ zs>^x^ZL!aI^%~;K&Rnn|F6m3zwx~nVjqw%dAHf@YetQf=NjJz>gF0F2e?Un$%GZKQ zS(-o=rPqT>S=wemNjJ_nLP{HspR|N^A*~HZ5L&T+LMwZPi^Se>7V%o&VGGke3$fXS zK3cZOr;VR5HMOv-eNi5^kJZ41I9v-)y}doXxxF+5qq4|@VuH#)+VW! zNmMj9SIm|1sz8QtIXkMUsFx9|RHnP;r}G(!?uYA4t$3e^+W7=EHi-8A)pK!R6Lf}= zn);ghMsxhY*L?M)uEtHn7Itm_B#q{tdVG6~i_ z!Uq#LgAaMZyaQ*RI^(2R9*s-6Aab?!ZS}?-3DJkGI2~xMRkZ{WY_3Iu3K8)yhNz*WOyMHcay4Mzwg#zQX1O*+|I&-K{aWP73{z=m*W#TuZ4Gh|S&e_Crc*N# zZI`8B=*?s)d^CHYYoJe67QHgc!;@U7V%a>`EXOCRaDzR=_YvYd@DjL`{)O{Ryr-n1 z3XiK;>vDU;RcB1{Gj;K1M5T@o9m~g0{NUtD_UfppgkHCqGQU%*f6(m#mH#)&Z}4S) zeBEnGeOx*mLtHBi#_%y^!@b%#Rl6V~Ss6-?hn4E_x?XuZ-G)`42&>j~y#swY#sU*M2?D&s$X9Pn4SXHf?!hoqbaxDnNT5PKe}t=i(mH z{jUxZFX&O<==EQGp3^1aonbSt_R;S(^4X?sny`#=a7NNLBuhkPe1!9PhVo zI8wh?ilG8sG=haHd|F8m{ z{2M}-@|e;Ky)9C`u6IareLS~1K8;qj7^l_g?nP-ovhqaND@x7(j1#5;GizJY%a{6I z)d=_MAbx{w;k8VkL&}4HX+7J=xp!Tr{)bNDqufS@QVzdJ=&@3NuKeEl~|KLmA(m{NGI4?%L}B zR6}`1naMJRazlOlqV68@;;27 z0wY_3by>yynjBu6@JaM^<}CKw4DUl~=4+IinSQ#j#@h)g;^mdJ?ApGe6>PsSOD>TN zxlq^TQqEO;r)(ryU)_m&Ea@5Pt}cA+ya})F=tLF_y(*o$AtSj$e?%$zuQT=v9C_B+ z-WA9mtfI1Ow9Ksa+nFlg$8vl1vm7TcIXn)i&y@_V-aWBl8^J)I%&w55<4_5DYQrkQ zFrLn#&|H_1S&pag%^1MoU&ibX5RKV5O!&b|sN{>qx_5SV@fBK%W2)Nz^;(d@fHMGWZ zLl(_GJec0SNcDCZ<)5)m`A8Y?+6tYh!%ji`b9+Tp6k;6fj=-~X=2 zkn7yt%0l4Nd_#)xJz4bHnrk`BX7I-@)b!kYqTj8Iju9k)uc z4}wwK^%1ckz0wYew;r)etNhqlS}f>H18TxhO z2j;Vx+jjx?fG(=Yr%JgFHw_vWHuv=Od#$*(S{HPNvu{HV$4}fsawzmo(*LcJyrxW; zT`|le+ZXAXn|ATGy!!mW(Imc5ih&PH|8F6mv!#l>84xkzEbQ#kVH?hiZKd&m*L+o4nrQl&+us0{2_loWcaiDe<6>@Z4=Jx`bA6h*+h6b zk}(}UKDTZ#J5I>(IHa}HGfIsMiXqp8XS3+(gQ`&CztA2l?CizWPCB&?EbU7BYO*HT zR`M+4!@k(tP*Y?~XuMe>wu{f-PWlGPE*}eXh*# zlX>KGRfZqwR$Bg-4W6qrOk|!IU6bJ_^AzaX3_qDCO4nuh8LYxypW!>}=KT#B-g54Y z-k9Na$ZhS{8LBF$vuw}(Cc~#UcL;PG>PBpa?_75iZqD$zfeQn-WGLjk$#83iSDlAB zwv2Df@SgRw@AeFDL%tqyM~13ocU6`RzB@B~<~;lQZH8B6)O|wMFCDcr`MV5_p{}d% z%FrBaNq={y?`+HFi~;(d3_VFvZC~F&x_3x3BlE0+3}4>k5>>db9{CF2b&ExIibnA9 z)^9f-fxn|*yaW=DPE4HC*V{2kv?3k*Oj6h6CYeutM2t}0>e%6=U7hnME$Zmdev1kx zsSjUKCt}A>T$$*{ZIQl-_zGPlqV8h%Ph2dY>r&UHHDaKZsX`xq;e(19s*3}v_yU-| z$ES7mMNGUGP5)e0RM@_>Q*+;f!xt<#oFW9cAiWSGSO8;7Rx?7!mc+tN`HA51fjjjv zvG`um{WhNTfB*ju`2R#I|L-ry|38KQcjv(VrkzgR?(K(Oh{eN|2 zq&6VV@`v%(zohQK@ofH5Ra5Gw$|misDuUM3DG(K%da-Zop2`*ZORPyg`v3DBlxZc_ zIiq4Ada5Eb!((`PakOTZIr&g0v1zq`9q~VDE#Ij>BEzLm%|)7e(^?H)WSXKJWsk#c z=SCWO`a2hP;%y$-T*H}5b-Js4g`UXRtA`PpXg2gVHM1J=x*}EN)~Rk<1&&y!;gvx4t}!B_4q&;B%}mtA z)VOeAU%G!z#Q!x{5FIifY0&c0vQN)nxlm)7BL@gVUHSYSS4O}Mwv(sI2O&lkvC~!0=`>}a< zzV9~!UAJcSboJvDD`Kj%K7IA7hgwvGOU9)^Ws6;Bs@yYMgDw3%_NpOl>$APU#RRy@ z-SXP%aL_F1a6dzV#0jODwOXqP+2wt>As!KS=!=;A_YQm`SfAozQb%TmbjemJl@%sG z(k^AG%Sz{Vx|hEFA~IQEa$9GNDkFGrc!aYOOKQ_`xZFg6?e@0J#qz1PTJJNOOBk_d-Qed`>Nx`3R(uBL1cZlXXxs*p3RtG9r|o_q-is_Vi>cV z`6@F_MV2mm>EacAlCD5c~P*cm=d*!Svr90F# zvMCL*yTKf3vR-Y!Ap?z0LZF#SvlzTvSCN;I73Cohi&(=hJ=R4kZOaP0oNGzoK3K%t zP}j$nCKcY6s_B{3QK?@vD)5YR&&W`Qqe!-7c^#*uyeZv&xUJxwOL4rSy8Mu$D_B3F zh~-kug`7}DHCL~vMr&J*t9q6oD74`mzB4PG4Oqgk9Li~3iPfmAj(#H5GnU$Gq$+oV zJ&lSjw%@%SU)Bq=)f`dBU0p5drI@nFa3wV{f=BcN)m94KH8Wja?JLw%Md|+b&aOT$ z%WVcUrF+%m{OCk%YP@)a4vVdiRyDTTU#f%5*`(Fg4cl~ap>}~QCTn0ueMME{K>yN# z{yIFV(7zZZw4xF>Mlh=5QjhiJ#_@qpyZ}LEWX}6cdWf(S13Pd_OjXqF5wb1~l)s#5 zxd2qwbs$N&UY_plL#!hH&5=k;a59ObJ=2Vs6)@-BJBhebu|C5mzs5iZt}o8S%Z*jU z-1JdJNQ^6|K0I33r!KUpHiBtEb9xD`{2@@O7p*;ZKB{MD7&wBZW8K$Q**122mf;y3lYojYELx<>nb8u{h>%Mk=Qws*kZ~I+vS2`0a~-;rmQ2rs zja+4s*Pk(u!k6Q8U0}6~cn?pprLrGTnVeqS*$qibeWcIx+gph()g=+Om*)nXsA7|(oS?s}wIYGRaD z%ecYkRQ_X}1Re$73)D$J_r@0nhq@^~mcJTqU{DfKfL9aGq9Ef=c%sut@G zK(8oOZ- z#^~ZrO=`OPdso;Lc`GyP#O1ncC2X<7?4H&}qcBs+Kv~=Hb>+}A+lV_eL}uX86dg_v>hKVr$%-^! z)5$H6SODJeW&@QNVs#@44OKanR}u{!0hpYh?p4vqxP+6rp&^qT*z4>LM@1Ph*QZnn z>Y|-?l^!72rrUda%_dyVS(DD_&_q@>26PNImCSf{Jhq)l!u9rss>W79vL#3RQn6M& zLny&{Zk?En#TMMGQZts+tqVs42m25Gcf_tnju)bzdo4RGY z4B9dyV_+iZ7Iu34lbLAle(VU@zf&uMK|JXtu`cPl9)II0@Fa(yuq^dVmAFbYr^4JY zQ8gCxP^>(cEX9b8QO!Q6Z6+D4?SVetuKjy^7GZv)_K2;6(4ebJ+Uydk z2nYAuY!X=lXq0|yuzjo~Gi2NBK-oKyCRu^K1h0dXOBE5Xf3RIJ>!z+fvc=cfix7_%8$8-3*|M@!d+15XRkxJs5A7hpj@G!&_pRi@0o)FRW2(%fUQ!RlGzhITBh zZ_eoS=wY2h4bbZlO=DteCE8X?B^J$)TN_r8u`W|pz?<*8YO6L>{kE+{ULggSzHGfJ z*D{|wQvpfE*KtzDhP1h7qb_zU@V0l+O!*4}RfK_^99{Wx?)WjPXk~gqV*Bo_oAovV zYF%vJBEvz*tg;9C7vn`8N2xWUoz41#fLbI4YBS3XZHk$`p;HUx(d+k31GF)eoXD}F zRhn)uI-^!HI(?DwW`nhkxv>8*q3Q_C1kUDP&f0_!l-K_WrWBz2*11lG>2nK&n;4O?P0)lJlG( z%PnVrM;eRg%!xb&+I$%*W2S{I*~%h@K=i*AsJkUnbW|+qV)P zFIB8ZS>fuMNyWEv= zzZlg%hOX#2kJR-H+fG+)XgQ+lVre~^*@0h@whON9UXWg%rKruZlg!@TmN)$AS+72U z4gL&l%-N77L;Q8HZSa9Pn%h?yq%7Idn~h={f;VVzqKNHhcRwWCR1!-Q=fj+q2M2$% zl*rg{@~z>@DrSCq1tAH|-rRKs$RP{&PPU6c@u-ssQ*!=kE)$;PnA*zKL^qJntQh{Z zU3aWz%(lAh{p_S(Mk0N;Mi0d@-_1Bo2^_+6urQ{Z+vTlFW{AkLL>eT;xkY-I3h%Ax z!6D;uYa6)qyrI!tP5|sQ+3syy@2am;mq;?^Nuf?bg{!)NEYDcW!Lo!rNQq>tBP=s^ zW)eWQO0PmUH&Xn#+cxXHp()}&R%DArj&(97w7#K?lL@BRW}Tgb>Fz4qF|Zp~L$g)% zP5tU)|B3SY+R_P^=37IAt&oRUG-M}Z9dzSbgr?5sD$M_)=>$R zQ;ePt8N~2?JlinTV8$Zn*`vAtg=vzFHK*h5oW+WyxcwnTg_fn2GMH=|j{cy;d7L@Y zwgItc4o@6SN1u(Xu@x?Uq-2I`-KYOfc6K8tRP_bL7o}9bG&>XT1viG56{F}f34>oahv2u&Y#EAT+LzQZch8En4$o-^)(vdZYb&a^7k{LMzJ zcXA~qU@y;^NruXEt*iFcRC@}|&vnlg2q3hC^umzr%>g*GLA=l?<_qPJAeLaeVJgnn`+%9Ff^ZR_Xk5QBDj|; zdM+0Rsf8*=s_{c^`P2E)={37H`~Z)!sb2Lp2{@t^UK9XTr045NNpI?8mo1$ zgLQ+sv5tv4c1vWPpe`udk>5;-bw{Vqs?dF@z=B@PcAS18iX`1$m#~?V<0^~oon-BU z)goU7z`2KsfsMLXN`cm7eVRI~0Y&IP*$JA}8?nAL0Wnv0(!dQ8nS zL&RBp;OeTb%w0_bU47|ldyh|AU#K+gK~e|yqxC&Y6Sv@vRUO4F8~34!sM@+vb3+Ns z?kuW&%6jglMk{aeG^ELjEAdcbLK`R6pF~9}aWqR2`=tDA-iIH2EW!RpC3kee0pY`5^0A?1y(^bk8Hho44dt z)gxoz(0Qmg7aP?p)>sKLa#8sWm7F)dXDsvsQ!4Tsc=ACapL26Zry~2I4(kACIHA)v z(?|96b*h`WsGdl=ewDk*h(I5v5*8XQL;0V+`En|9F!{WF=nf5vkaG<6p!oMZAX&v)`QaK9e%HeVh)NO>3o zw{`gcddP?Q@=B+_9`3QdBaw@JdF*`Zk3l}HhCG-46v(fFJQdJCg!=O!k4}h0(gArp zL4FhDTl@AKoc;BXKRAf~7`&zAkAujk zK>iQNbH#5SgL?DUe?=hK5mA*BQe*yXK zzP{H!))#l((~}`T*q6srcL7uCAu7-S*{M`1}K)%Hw@^z4J3wf^a*F(PBAo^pHk;tBq=c*r5Am48g z{dtgAK|ab)f1Atym5|RHM1M8p^C8cbKWiZGhrHRhAJYw7^?#5*4tdV>L;f=4Ck6CR zVEK+g!5&f&i7XGubpul65BZCb=PZ8+UK>Qd67n}8&-3m3^&j#dAkUe8$hRuYoxXLD z<1>O0bkVMUFLwFA9`d?DmXk=i2e1DFBwFC495102hpDb`4y0l^waN+-}4~96Y|}C zxz|6*yy7*;7y0s72kYNz$PXyaoj+?Jp9XnzK;NtXkY6~6{(8tSgFILMj@cv{O30Kd=2Cu4I*C$ z`DcTKzaH{o`{WLP%;u5EW{~HK{}jl_LVgD3QOy7NDGA8{DU*4S-!wJ1{z}N#LY_1I zkUutv{u;<%g?yBs|K9v+9pwKW#Qu87zZyh71`X#s$h&>}vBOxtQy@Paoo}xA&x8Dk zLF6kTUj})u{%JMjs|V3v1Nl{u;~$s*-u!wU1h)^OzaH|t2a%82G7@x@QU2=n*#Y(kmnlT=Rux^JXiZ!3Hfr!bCus}$bShrionIs+do+Y`Qwo9 z?#sRT)jG)kHHiK7kbet#uKXW^fi+r*Jo4?w&UN)4@{1r(1?1lT2jpKvo@;zw3BjgS z=tF(|0cBqG>8l~Hf*f72OTV{%UjzBkkmrj3I>?WQJZJeselg^^+TR!y+*-(UmERNy z{xnGV^B{k95cx{T|2l|#HRS)uA=jzC0U0w~mCqHRVG;TJ7W{vB0dWrNF=?BubajUyCX&R}S)I&O*bRp?_(w(G-Nzar1LVBOH5yloB`|U`(k|vR= zNlm0Bq;E+ZC9S>PNc)ivBrPBBlJ zjPys+$E0saTVQ3UEsrLZld4H`Nomqb(kY}XNH>%2C;fvI$BIgaJC?LJsg=}DT2A@} zN!ESZ%8jHaNH3E2=cQq|LAj(7K~Yg{1vSb4Y2@F{IN-*N|=} zJxzLr^eO2((q@>E>$v=wR7pyaPA1(zx|j3>={3?jq|ZrF%zt%gTad<(ibw~LW|J0> zP9Uu&-AKBN^f>7+qz_16lZIhds$(^hv>U0AbP(xT%;U7iYot#}-;uV#K&$=jOxm9` zhqRb9K>8KwQqo1U+VNEeZ=BmI{2BI%!`|ByDp zn17oZ4Sqx_CVfcynzSWGNv*LXX)n@bQY&d8sgLw4(xs$dlkOosMtYI-H`1Ql*tnFD z8cFj=hmn?(R*|kH-9cJQnz*eEV_(t?QX45v>Lr~(I*YWLbR+35(&MBTNpF)rB}IN@ zV>N=bBWX|4KBVcSIixhHk8~XA4ALc}8%Vz+JxqF?^e$pY#*&F zk+d(VgS3=%3h8{(gQRCjZ;?JBZMVA(cQ?|0qytHPq~k~zk**^>PkMv&KItpcwtLuc zcO@M}>LRTmT|l~)bO&iI=>^g{()*+@N%3(u23wMLBuyagLpqQ&o3x13Px?9OY|@pa zTSyO*o*}(TdXMx4Y1nuh=WR&4lZr?OlNON%NGFnhMY@!9GwD9k6Qoy2{~&!qitowz zk#->!lPX9Jq(exHNdu%4Nav6)C*4X~Lwc6_w^}wUN3=D@YfRt|2`{dXDru>0Q#- zq~rt}gRMzpNs~xZNVTNdqy?lSNXL-QB&{ahNV<#k2Bpo} zQWdF*bSUXC(lXM|N#~NTB;8JWkn}w14bpogxp|>$(`J(_jUttis!5%sBT46yt|Z+{ zdYtr6(r2Vi^KH1>ktUM%CDoGBq+Zeqq_aqulWrodAw5NUjr0!bOH#bR#&28FE~I?Y zexw6Qvq@=EFX>p)>7tY^as*kNFR~DA#GY@L)(rtj#NUbBsGx^B^^duMmn2x8R;g{y`;xU zFOuFSeMsf^S{>L4v89YZ>u zbTR3A(r-x*lU^XLBfU?G;AB_FZv<&CQaP!H)J&RBT1xsE=~U7Mq-#jGlO7~JLwbYs z9_b5Ga$g(gtx01^6G;1zrjurq7LfW$$CJ(`T}HZvbU*1C(yOHRNMDeWQy6E`E~H7M z{YiDCd8AI#3eriW3rN?HZYMoRdY<$K=|j@jq~v~#GifYo5@`yljx?9lNjj2r5@{9b zYSL|_he*$n{zCeI^bKjFsW#5rkai|bB+VeTkvd4nkWM3ANV=AEC+Q*5bEMZvACTlG zf^Kg~9QbP5nlzTQH)%i8fuz}_1*Cq`38b?~a>GD}b|dK#(jQ3gk-i{pbAZ*INSaD& zBh4orM>>Oa3F$`C?@7;-J|cZf+N8q9U^~)oqykbMX)b9IX@GPB=`7Oaq?<_hlH>$l z=iiH@zmYy7eMj1~(rWBL+JjU^swN#oYA1D*jwPKzx}00Z*~q(771CVfVVRN0tr zN!pP#fwT|lK+EER9Nk5uyW3?-(kW@#SN9rUkBb`KAMY@7? zGwA`+OQgS(z9uDS*jSAuO(fNk4kaB<`X%XH(w(H=lU^geLrT^%T+*JTGEy69K4~fG z7}9B^3rRPSen)zQ^heU0q>o77l13b8W4Z%r4^lCynsgAUozzV_hIAU~LejOQJ4kCu z&yv=W-Y5N+G;F4ga~^2|shV^UDMeaAI*D{H>1xt#qz6b(lU^bHgY<9G_oU%?;k;+Lmq&CugQZMOP(yvID zk!~eDKzfbz4k_7SV>ObrGif4eU(yWH98#JzKstf6igX3(X3~A6r%A7n-X(obN;KLy zZ$;XfG?BC~X(nk7DNPz6oj^K^bUEoJ(tV^SNq;82P5PAd9ce_9jr|U!JxOJx>7-Ut zJE@y=4Cyq|C8Qfj50joJy+Qhz^gU^dgKSK9B<)EmBUO{yNFAhp(g~zC9NSn zOL~p;4(V&sux1<6k)%9QK50KvJ?UUl7YPshnmOw)N#~NTA>B@Tkn{)AUr8U5z9wzl zV#C;$^kY&Xsgl%4nn&s+9Zfo!bROv{(ygS2NY9hrApM8*1L;StHqN_}_90Ct^^jJQ zt|i?;dV};HX{$CH#!jT^q*l^O(kY}XNH>#SBK@8832BpAHndTs-AToyN>UT)C!{XY z$)t-(H;{fudYJSl(wn4DN#B!3&9*V!oivp+lXMvA=cIE{XiNq*T!!&X&kA9G@aB&nosH> z9ZNc$bP?%B(p{t{NH3G#A$?97cCd}A^Gf8tuoup-?lS${3t|$GD^f>7y z(mzR`krId4m~Ks)NZN-qjnqu~3F$D>k)#tyXOb=^T}Qfu^dRYJ(w|9hkv=AULmD=Z z=^*Vy+LKgDsw6d#4kj%m^^%Suok}{NbQS3q(tV`INq-{!mGlAWOH%Amo1)E0JCJrK z6_Tcs4kXPY%_nt}jv}2zI)`)_>DQ#YNDq^qC%sO3hx8xP_oU%Jv1uDi$|qHjnn@j` ze$p>U=aa4{-9vhc^g8K7(t6T}l#SI+q)DU$NC%PTlln+MC!I&Sj&wKaNz!Yi4@lpV zHv6fK)sCczr2R=vq;^s-=|s}Gq-#lck)9yEN_wC44QY70jnx>^1kzMeBk8B4BS6fHcq{~UaA>B=Sg!BUG4br=$&qzOzhA*&b+m5s=X%cB) z(sWV_DMdP*w2X8j=`7MEr0Yp{lGc)*A-zI+oAe3kThc~po1&4Vv8267Wuz)nBk2&* zB2pjeSkh^v3rJU!ZYAAMdV=&K=}ppyq_0Tvg*HW7kVcdCAQh4JC(R_yCUuZ{NJo=? zNm@m^ob(&g-K0lIFOc3Ky-WIx^aE-5BAd4DNV}3Ik@h7`C$*4Lq{B(eNGFocB3(kd zo^&T^E$JE3E2OtcpOC&KZM4{?Xe4PYsg86gshe~x=~tvHNq3MQA-zQUC+SPlMx8b; z+mptV_94wA%_A)#9YZ>cbOq^l(!-<|N&g^yK^k_Ljn#Ifaiqzl14)OFx=24Gok_Z! zbQ|gSq(70~CVfsy9&TgxBhntEa#AhnVAA2Fm83IBmyvEIJw*B==`GS{q(qmE)wZPF zNoAxNq`9QSNJo=SCtXUqg|wFR2h!h3{~^Vf*jQ~t`Z1}LG@Ueu)JZyubQ)1NV{ zq!&nkBmJ8c>$b5PN!pE6LYhXJOMKZ|!YInn>E0 z)J#f|jwGE(x`cE+=}yvG(lex2NN>{t zA?X^@ZKO4%CrK}n{zm$iw9%1_J!vdyFH#w)iquFtgtUm%M>>{t8tDSk)udZV_miF= zy-0eK^dadhQhb?B(H5l9q!LmEsh%{KlqMZP`WfjI(s`sSNjH=3B|S#^Bk3=s_eo!n zqRVYMMvz94ibxHlgGmcXy`*zUcaR<=Jx%&E=`GUNq{Ipvt1U@mNM)odQX}aQ(jrnH z=~&Wfqzgz_lWry5PkMs%BI!-ihorAa@uO@ywjhlr?LjIc?N6FXnoa5;^^lGx{gSkb zbUEoaq`OIvkX|6YL3)?;8R-Yo@S|bH!)J-~ybQ0+t(q*JylkOrt zOnRR5I_Vu!Y^9C!=A<1+yORn@Q%MJsW|8KTx=BZoP9mK{x{P!W=~2=jNb5-NkrF?% zvEPz3hBS^;Ogey6N18)gKw3&#NjjNyF6j!=O{9BBkCOgCT1R@1^f@VVj7`yIr0q$& zk@87XNHa*Sq@R+yNXtoQlWr#6OZpS(ucQx1Uy@?S+Bk1c+JUq?sgN|4bRcOKX+Ei& zbQI|%(mAACNcWK*C;f@^G3gu9u;Xm(wLVRXI*oJz>1xugr29!vkX|IcN&1lV z6)Ap#O~)3b(WE^{MWp>n2a^_(dP&ESP9>dBx{7oQ=|0lqq&G<)lD;CvPh{*#qe**^ zivFM4&OSVf>fYlMQc#MqQq!vsSd34Frxp!d1O#niLlQzRrdhHOxU@Dq*-Vm=&F(ro ziw&Tz5BP#2dILp}x1}iZa+RpGYP{--Qc$!Mt320otE;^NdMnhbg;vG;ot-`3>^VEB z_K)uKBz*Fj^ZU)2bIzP|W*?qi(qz(f(ri+Q6eTSr-9}nL+DO_#dYtq;=>X|4=_u(V z(ifybOT@KJAk~r|DNyS|vwv;rSG@evL`Ymbr3K6@2bSG&Y=^@g4 zq|%ilb~tG~sfIL%bcl46bc!_aXCmJa(n!)#($rO=+-%Zz(mSMU?iJN@Yec?(B{h*ABxOh+lKR~zV$UV{NHa)FNNLlGk+Dkf3`o?+@TSi(<+D7Uj?I-y+h*+J}McPc-MJnAWB8HR3lWItFNGnLs zlKw<0N{M{mBuya&NG+rlq_;_bCKYcI`ASLGk`|Jdk=BzwBbEGIWEn>KF{z8RnY4?v zhjfZGa;zCZvJBFqbT`uNq+3$ru&$# zc&mu50=abw(A`OQAKgK^4BdI#MC=HVTbJ2%t#tR(Jw|t$u4KE2tpmAr`7zyEy6tos zx)XHY-XUTy1-W%;qnl5+o9-app#K!HLqKlq47woQ-E2xu= zU()TN`y1WBheho7L2kQDr&~t1mhLUO<8&A86tSa0Ze4yvcP-sIx*c>M(-kAojh%>p z+`3GoyOHiLy65PAL)ZTi5nBp^#(g=9u7z$3-7n}qp!(?yOxRb|}b=ok16*`#Iesbnnysm9G33BHs@{ZoUNF61r#T zUZETCOA-4mkQ>`bXV9&s+fMfm-G_8#kBfYxKyJQfy6fn+(mhUhjP4{|`4b}F4?u1{ zn{F}Pqjb;F{f%zmlOnbT5kBSLU(zOh@Ap*>(WVgJKd9X`{+*64R}h# zP6oMk`61msbQ|do(7j1F{J%u(Sdd$n1l`9_1>d@Xcwx{Y)X(`D#R&<%Z7Iv}=yuZmiS7%!E1nnm zrh?pjx6|EA_bT1nbeFs!Vkdyy*cjbSbT88#ru)_&5qmMnjs17JcDfC8578Z?J4rX; zS0Y~x$j!HuZZ+K@x_9Zy_KMh1AU9U0i_vYRdz|i%bf40V+b8l>f!utH>AL7%qI-jG z;EN*me2^RKr)#2HL${UgFx~rf!(S5l#)8~@&2-n%?V#(SJ5KjG-T3_?Up2_hcO%_h zbO-4&bVFYjvEKu^v2*E6x=nQ5bcgBQryKc-$af{k%@?LyNVlEtNxJ^O7O|xuH+DMR zT)KPcHqyOJH|T)KGCe54>LNlKB@ zqzp;R`` z8Itxj<|Fw?K~j>GBBeK9Y|VBqd2HQks+@IbU&-8_y&kDM(6^QlvB~Lvkj?Tt1SI6eJ}{DN>r0A!&n| zkK`i-Nl8+QlqO|J&R3q~>PPaCf}|uVMM{%0B<)=0Bl$={Qj(M+mA9HqGWyxGg&ep!OW4&1z1;q zA{pnqT4Iv++|PxeTUcOn&Bi zmVOC4#JnVFy zk<3__(~_A5Q!*hx^Gz^il35QkLNZUoTq>CpFk>Y1FD3X6GRa&8Gf6UYVdhHaR+t5n z*#WacGW%i1P0X+JConHbX4u)9_It@(1@i~V%!YA3xwE%b6EG(vvjV2ymHA~}fH_k# zZ^8_f%!e>rC*?<-^$ksXN-`5*o|B9Y^O|H9!F(W@H83AZW-rWNCG$Q^+vNPS4?G9o z`6ro+Vd9dx3TCxr=E7`{%p#bFB-0J^m}H!9(s@!c@4-y;<=5wo!J0N*GUYJWNTv}c zB$=f!ret=)ER@VXn3a+_3Ufw9{@Dk76JuU7BVcsN)Wg`4nFq62GB?BQmds|DW0H9m z=A>kf!#JO6*gNXZKNtI`Dfwm`%*T=mzznF&FJr?@mdtXP>m{=p<_5{6VOB}z4H)P1 z0(WR(|F zk$|+!1-flUBMnAeIb7G+RNWY;o{H-EqjA$IWJcNohMkD{b*ECcVW}~5#*LonJi{re z8Uhv5jm}0roG_FlRh3Os%ofu!LQZ}?Tp5knRy15#o62b1R$?pLb*s&(5}p|o@xl;X zv|-hvPn5WdN?cer*x-eD6$w;JRqLy4qtR}L!bWAg5t>(@us!Obw?z!w3^n2+qt?}C z;f3hUx%k51fMLxyLq?Su4@Ku2R%e58ol@6a32)0vdz{u^r~fn%YByREVYOQVW?KY} zY8iej8Z#{0EEpa6!PV%qPWAjEgW~gBs}`e9y&4RF2-->XZI$6%ePOfAHo`6F`YLpB zcH|V62pI7=hE%|g#tILrwNS@#u1!4}ttW~I z&Sa{#`%EkV@z$u-p;ouP`C5!%rGfz?5|3K-R*T^|T{!bz@6`2orUqVDLH@jZL#?WN z@;XD0yy{iR)?7d7d6e$(LYM2+5VYdy0~OJ%yX7gyTWbatE0{orXFh? zQv;bW3RaWsvWK~`!3Y^<%ws(gGo!PTd(KPJti%;rt$_FbfJ06lH4R3qVHuH-y3{yB zsXAgLn?ANwsI#6lg@HR|Ed(*|+@_om&>Lz@wfXn>+4MFe*H@wqJEynZFUpZr;?I z7j87v66zYEHchTcy~kJ`_Vpc!4re#zeK+?#S*YicZ)>%dYI~~3YYg0jW(bp)GP2lp z>iPQEsi}#x`g}(9j0!Xt*u@&Zf?bq<|Wok890@C1P>}9J)C>6@f;s$)mT{X zWDfP(vM2mXr^~f#?zRdTVX+@o+d_t}K%)l`{yhPFLB6l15&u*Gw#Qcuq* zy3gul`~J%|H||4OZW2}d#NXR4>Y+M4Vzw5p*%cVGPNkdB{!O|4Mc$LTJFJYBz8_0^ zZ{LC^_C7DPQnzd)Zt8dvh+24>!o!T(;#g5V9-sq>=Df|B8sjXq^{oxjsGV1+wn{Bl z-T2j3{p|ij580gXt0N(+GiDnte#@MXI-`zCf6KR8cHQ<^{kfK@eN-uL3)G4`?{U<| z;|aq;cbEka7uk`M_pU@i_P!n&)bmI?Xypq1HGYq`S;X4j`(8m|&g{Ugt@3D(f|)y~h6s%Q8WG diff --git a/Debug/src/iso2/iso2EXIDatatypesDecoder.d b/Debug/src/iso2/iso2EXIDatatypesDecoder.d deleted file mode 100644 index 450c4ab..0000000 --- a/Debug/src/iso2/iso2EXIDatatypesDecoder.d +++ /dev/null @@ -1,24 +0,0 @@ -src/iso2/iso2EXIDatatypesDecoder.d: ../src/iso2/iso2EXIDatatypesDecoder.c \ - ../src/iso2/iso2EXIDatatypesDecoder.h ../src/iso2/iso2EXIDatatypes.h \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \ - ../src/codec/EXITypes.h ../src/codec/EXIHeaderDecoder.h \ - ../src/codec/ErrorCodes.h - -../src/iso2/iso2EXIDatatypesDecoder.h: - -../src/iso2/iso2EXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIHeaderDecoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/iso2/iso2EXIDatatypesDecoder.o b/Debug/src/iso2/iso2EXIDatatypesDecoder.o deleted file mode 100644 index d6c2ec63cc13b4c861af3816be45864a07ad500a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1497227 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 baTEH$Y5b`Zt{;o^#IBu}qZ! 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 d+vRxM!YS?+;6yP2CdX{{teZ`{e)t diff --git a/Debug/src/test/main_example.d b/Debug/src/test/main_example.d deleted file mode 100644 index e3b80ce..0000000 --- a/Debug/src/test/main_example.d +++ /dev/null @@ -1,53 +0,0 @@ -src/test/main_example.d: ../src/test/main_example.c \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/appHandshake/appHandEXIDatatypes.h \ - ../src/appHandshake/appHandEXIDatatypesEncoder.h \ - ../src/appHandshake/appHandEXIDatatypes.h \ - ../src/appHandshake/appHandEXIDatatypesDecoder.h \ - ../src/din/dinEXIDatatypes.h ../src/din/dinEXIDatatypesEncoder.h \ - ../src/din/dinEXIDatatypes.h ../src/din/dinEXIDatatypesDecoder.h \ - ../src/xmldsig/xmldsigEXIDatatypes.h ../src/iso1/iso1EXIDatatypes.h \ - ../src/iso1/iso1EXIDatatypesEncoder.h ../src/iso1/iso1EXIDatatypes.h \ - ../src/iso1/iso1EXIDatatypesDecoder.h ../src/iso2/iso2EXIDatatypes.h \ - ../src/iso2/iso2EXIDatatypesEncoder.h ../src/iso2/iso2EXIDatatypes.h \ - ../src/iso2/iso2EXIDatatypesDecoder.h ../src/transport/v2gtp.h - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/appHandshake/appHandEXIDatatypes.h: - -../src/appHandshake/appHandEXIDatatypesEncoder.h: - -../src/appHandshake/appHandEXIDatatypes.h: - -../src/appHandshake/appHandEXIDatatypesDecoder.h: - -../src/din/dinEXIDatatypes.h: - -../src/din/dinEXIDatatypesEncoder.h: - -../src/din/dinEXIDatatypes.h: - -../src/din/dinEXIDatatypesDecoder.h: - -../src/xmldsig/xmldsigEXIDatatypes.h: - -../src/iso1/iso1EXIDatatypes.h: - -../src/iso1/iso1EXIDatatypesEncoder.h: - -../src/iso1/iso1EXIDatatypes.h: - -../src/iso1/iso1EXIDatatypesDecoder.h: - -../src/iso2/iso2EXIDatatypes.h: - -../src/iso2/iso2EXIDatatypesEncoder.h: - -../src/iso2/iso2EXIDatatypes.h: - -../src/iso2/iso2EXIDatatypesDecoder.h: - -../src/transport/v2gtp.h: diff --git a/Debug/src/test/main_example.o b/Debug/src/test/main_example.o deleted file mode 100644 index a66ef5febc771ea6bb318406bcb35beb64cc090a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212057 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 diff --git a/Debug/src/xmldsig/subdir.mk b/Debug/src/xmldsig/subdir.mk deleted file mode 100644 index ed518e4..0000000 --- a/Debug/src/xmldsig/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# 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/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -std=c99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypes.d b/Debug/src/xmldsig/xmldsigEXIDatatypes.d deleted file mode 100644 index 3c1c14b..0000000 --- a/Debug/src/xmldsig/xmldsigEXIDatatypes.d +++ /dev/null @@ -1,9 +0,0 @@ -src/xmldsig/xmldsigEXIDatatypes.d: ../src/xmldsig/xmldsigEXIDatatypes.c \ - ../src/xmldsig/xmldsigEXIDatatypes.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h - -../src/xmldsig/xmldsigEXIDatatypes.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypes.o b/Debug/src/xmldsig/xmldsigEXIDatatypes.o deleted file mode 100644 index 876b931493c603f4043eb46ebf447e5051dc6e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20373 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�W(3*sZ$pF2*U%G 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 diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.d b/Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.d deleted file mode 100644 index c8e653f..0000000 --- a/Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.d +++ /dev/null @@ -1,23 +0,0 @@ -src/xmldsig/xmldsigEXIDatatypesDecoder.d: \ - ../src/xmldsig/xmldsigEXIDatatypesDecoder.c \ - ../src/xmldsig/xmldsigEXIDatatypesDecoder.h \ - ../src/xmldsig/xmldsigEXIDatatypes.h ../src/codec/DecoderChannel.h \ - ../src/codec/EXIOptions.h ../src/codec/EXITypes.h \ - ../src/codec/EXIConfig.h ../src/codec/EXIHeaderDecoder.h \ - ../src/codec/ErrorCodes.h - -../src/xmldsig/xmldsigEXIDatatypesDecoder.h: - -../src/xmldsig/xmldsigEXIDatatypes.h: - -../src/codec/DecoderChannel.h: - -../src/codec/EXIOptions.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/EXIHeaderDecoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.o b/Debug/src/xmldsig/xmldsigEXIDatatypesDecoder.o deleted file mode 100644 index ca653befd15b3b5498b070675cbee3f63ca08208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23036 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 diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.d b/Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.d deleted file mode 100644 index 654602e..0000000 --- a/Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.d +++ /dev/null @@ -1,20 +0,0 @@ -src/xmldsig/xmldsigEXIDatatypesEncoder.d: \ - ../src/xmldsig/xmldsigEXIDatatypesEncoder.c \ - ../src/xmldsig/xmldsigEXIDatatypesEncoder.h \ - ../src/xmldsig/xmldsigEXIDatatypes.h ../src/codec/EncoderChannel.h \ - ../src/codec/EXITypes.h ../src/codec/EXIConfig.h \ - ../src/codec/EXIHeaderEncoder.h ../src/codec/ErrorCodes.h - -../src/xmldsig/xmldsigEXIDatatypesEncoder.h: - -../src/xmldsig/xmldsigEXIDatatypes.h: - -../src/codec/EncoderChannel.h: - -../src/codec/EXITypes.h: - -../src/codec/EXIConfig.h: - -../src/codec/EXIHeaderEncoder.h: - -../src/codec/ErrorCodes.h: diff --git a/Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.o b/Debug/src/xmldsig/xmldsigEXIDatatypesEncoder.o deleted file mode 100644 index 1fc7a964cbe0501344e727d09de40d6b6e3b1b02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22836 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 diff --git a/Debug/test.exi b/Debug/test.exi deleted file mode 100644 index 3216fec153f66db12f12b5f31eaf3adc321976e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmZoL(a=-AE1+cT5}MYQaF+oDblCp?YXGwtgp`c`{{u?F_)R7n|Nj9s98SHc$WW`$ rqx0~RW`KmCjHeX?10&false` 존재시 C#ì€ _isUsed=true, VC2022는 false -- **í•´ê²°**: C# XML parserì—서 해당 element 무시하ë„ë¡ ìˆ˜ì • -- **코드 수정**: -```csharp -// VC2022 behavior: ignore BulkChargingComplete element, keep _isUsed = false -req.BulkChargingComplete_isUsed = false; -``` - -#### C. 13번째 ë°”ì´íЏ ì°¨ì´ (D1 vs D4) -- **문제**: Grammar 278ì—서 3비트 choice ì„ íƒ ì°¨ì´ (001 vs 100) -- **근본 ì›ì¸**: BulkChargingComplete_isUsed 플래그 ì°¨ì´ -- **í•´ê²°**: XML parser 수정으로 완전 í•´ê²° - -#### D. **🔥 PhysicalValue 정수 ì¸ì½”딩 ì°¨ì´ (핵심 í•´ê²°)** -- **문제**: VC2022는 `encodeInteger16()`, C#ì€ `WriteInteger()` 사용 -- **ì°¨ì´ì **: - - VC2022: 부호비트(1bit) + í¬ê¸°(가변길ì´) - - C# ì´ì „: í¬ê¸°ì— 부호비트 LSB í¬í•¨(가변길ì´) -- **í•´ê²°**: `WriteInteger16()` 메서드 새로 구현 -- **코드**: -```csharp -public void WriteInteger16(short val) -{ - // Write sign bit (1 bit) - VC2022와 정확히 ì¼ì¹˜ - bool isNegative = val < 0; - WriteBit(isNegative ? 1 : 0); - - uint magnitude; - if (isNegative) - { - magnitude = (uint)((-val) - 1); // VC2022와 ë™ì¼í•œ 계산 - } - else - { - magnitude = (uint)val; - } - - WriteUnsignedInteger(magnitude); -} -``` - -### 1.2 📈 ì¸ì½”딩 í¬ê¸° 개선 과정 -1. **초기**: 47 ë°”ì´íЏ -2. **Grammar 수정 후**: 42 ë°”ì´íЏ -3. **WriteInteger16 ì ìš© 후**: **41 ë°”ì´íЏ** -4. **VC2022 목표**: 43 ë°”ì´íЏ -5. **현재 ì°¨ì´**: **2 ë°”ì´íŠ¸ë§Œ 남ìŒ!** - -## 2. 현재 ìƒíƒœ ìƒì„¸ ë¶„ì„ - -### 2.1 🔠Hex ë¹„êµ ë¶„ì„ - -**VC2022 출력 (43ë°”ì´íЏ):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d100 3201 -8600 2018 81ae 0601 860c 8061 40c8 0103 -0800 0061 0000 1881 9806 00 -``` - -**C# 출력 (41ë°”ì´íЏ):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d432 0618 -0080 6206 b818 0618 3201 8503 2140 c200 -0018 4000 0620 6601 80 -``` - -**ì¼ì¹˜ 구간**: ì²˜ìŒ 12ë°”ì´íЏ 완벽 ì¼ì¹˜ ✅ -**ì°¨ì´ ì‹œìž‘ì **: 13번째 ë°”ì´íŠ¸ë¶€í„° (`D1` vs `D4`) - -### 2.2 ðŸŽ›ï¸ Grammar State ë¶„ì„ - -C# 디버그 출력ì—서 확ì¸ëœ Grammar í름: -``` -Grammar 275: EVMaxVoltageLimit_isUsed=True → choice 0 (3-bit=0) -Grammar 276: EVMaxCurrentLimit_isUsed=True → choice 0 (3-bit=0) -Grammar 277: EVMaxPowerLimit_isUsed=True → choice 0 (2-bit=0) -Grammar 278: BulkChargingComplete_isUsed=False → choice 1 (2-bit=1) ✅ -``` - -### 2.3 📠PhysicalValue ì¸ì½”딩 위치 ì¶”ì  - -| PhysicalValue | M | U | V | 시작pos | ëpos | ë°”ì´íЏ | Grammar | -|---------------|---|---|---|---------|-------|--------|---------| -| EVTargetCurrent | 0 | A | 1 | 14 | 17 | 3ë°”ì´íЏ | 274 | -| EVMaxVoltageLimit | 0 | V | 471 | 17 | 21 | 4ë°”ì´íЏ | 275 | -| EVMaxCurrentLimit | 0 | A | 100 | 22 | 26 | 4ë°”ì´íЏ | 276 | -| EVMaxPowerLimit | 3 | W | 50 | 26 | 29 | 3ë°”ì´íЏ | 277 | -| **Grammar 278** | - | - | - | **29** | **29** | **0ë°”ì´íЏ** | ChargingComplete | -| RemainingTimeToFullSoC | 0 | s | 0 | 30 | 33 | 3ë°”ì´íЏ | 280 | -| RemainingTimeToBulkSoC | 0 | s | 0 | 33 | 36 | 3ë°”ì´íЏ | 281 | -| EVTargetVoltage | 0 | V | 460 | 36 | 40 | 4ë°”ì´íЏ | 282 | - -## 3. 🚨 ë‚¨ì€ ë¬¸ì œì  (2ë°”ì´íЏ ì°¨ì´) - -### 3.1 ì˜ì‹¬ë˜ëŠ” ì›ì¸ë“¤ - -#### A. SessionID ì¸ì½”딩 ë°©ì‹ -- **VC2022**: BINARY_HEX ë°©ì‹ìœ¼ë¡œ 처리 가능성 -- **C#**: STRING ë°©ì‹ìœ¼ë¡œ 처리 중 -- **ê²€ì¦ í•„ìš”**: 정확한 SessionID ì¸ì½”딩 ë°©ì‹ - -#### B. EXI í—¤ë” êµ¬ì¡° -- **ì˜ì‹¬ì **: Document structure나 namespace 처리 ì°¨ì´ -- **í™•ì¸ í•„ìš”**: writeEXIHeader() vs C# header writing - -#### C. END_ELEMENT 처리 위치 -- **ì˜ì‹¬ì **: Grammar 3 END_ELEMENTì˜ ì •í™•í•œ 위치와 비트 패턴 -- **í™•ì¸ í•„ìš”**: ê° grammar state 종료시 END_ELEMENT 처리 - -#### D. String Table 처리 -- **ì˜ì‹¬ì **: EXI string tableê³¼ namespace URI 처리 ì°¨ì´ -- **í™•ì¸ í•„ìš”**: string ì¸ì½”딩 ë°©ì‹ì˜ 정확한 ì¼ì¹˜ - -### 3.2 🔬 추가 ë¶„ì„ í•„ìš” 사항 - -1. **VC2022 ë” ìƒì„¸í•œ 디버그 출력** - - ê° PhysicalValueì˜ ì •í™•í•œ 비트 패턴 - - SessionID ì¸ì½”딩 세부 과정 - - Header와 trailer 비트 ë¶„ì„ - -2. **C# vs VC2022 비트별 비êµ** - - 13번째 ë°”ì´íЏ ì´í›„ êµ¬ì¡°ì  ì°¨ì´ì  ë¶„ì„ - - ê° grammar stateì—서 ìƒì„±ë˜ëŠ” 정확한 비트 시퀀스 - -3. **Stream Position ì¶”ì ** - - Grammar 278 ì´í›„ position ì°¨ì´ ì›ì¸ ë¶„ì„ - - ê° ì¸ì½”딩 단계별 position 변화 ì¶”ì  - -## 4. 🎯 ë‹¤ìŒ ë‹¨ê³„ ê³„íš - -### 4.1 즉시 실행할 ë¶„ì„ -1. **VC2022 추가 디버그 출력** 활성화하여 ë” ì„¸ë¶€ì ì¸ ì¸ì½”딩 과정 ë¶„ì„ -2. **SessionID와 Header ì¸ì½”딩** 정확한 비트 패턴 í™•ì¸ -3. **13-14번째 ë°”ì´íЏ** ì°¨ì´ì ì˜ 정확한 ì›ì¸ 규명 - -### 4.2 최종 목표 -- **2ë°”ì´íЏ ì°¨ì´ í•´ê²°**하여 완전한 43ë°”ì´íЏ ì¼ì¹˜ 달성 -- **100% VC2022 호환 C# EXI ì¸ì½”ë”** 완성 - -## 5. ðŸ› ï¸ ê°œë°œ 환경 ë° í…ŒìŠ¤íŠ¸ - -### 5.1 테스트 파ì¼ë“¤ -- `test5_decoded.xml`: 테스트용 XML ìž…ë ¥ -- `test5_c_encoded.exi`: VC2022 ì¸ì½”딩 ê²°ê³¼ (43ë°”ì´íЏ) -- `test5_cs_integer16_fix.exi`: C# 최신 ê²°ê³¼ (41ë°”ì´íЏ) - -### 5.2 빌드 환경 -- **VC2022**: 디버그 모드 활성화 (`EXI_DEBUG_MODE = 1`) -- **C# .NET**: dotnet 6.0+ - ---- - -## 📠작업 히스토리 - -- **2024-09-10**: WriteInteger16 구현으로 47→41ë°”ì´íЏ 개선, 95.3% 호환성 달성 -- **핵심 발견**: PhysicalValue 정수 ì¸ì½”딩 ë°©ì‹ì´ ê·¼ë³¸ì  ì°¨ì´ì˜€ìŒ -- **2024-09-11**: 최종 í•´ê²° 완료 - writeBits 함수 완전 구현으로 100% ë°”ì´ë„ˆë¦¬ 호환성 달성 -- **최종 ìƒíƒœ**: 디코딩 100% 완벽, ì¸ì½”딩 100% 완벽, VC2022와 완전 ë™ì¼í•œ 42ë°”ì´íЏ 출력 ìƒì„± - -## 🔧 **í•´ê²° 과정 ìƒì„¸ ë¶„ì„ (2024-09-11)** - -### **문제 진단 과정** -1. **초기 ì¦ìƒ**: "Error encoding XML to EXI" 메시지 ë°œìƒ -2. **실제 ì›ì¸**: writeBits 함수ì—서 Positionì´ 0으로 유지ë˜ì–´ ToArray()ê°€ 0ë°”ì´íЏ 반환 -3. **근본 ì›ì¸**: C# writeBits êµ¬í˜„ì´ VC2022와 ë‹¬ë¼ ë¹„íŠ¸ 플러시가 ì •ìƒ ë™ìž‘하지 ì•ŠìŒ - -### **í•´ê²° 방법** -1. **디버그 출력 추가**: 비트별 ìƒíƒœ ì¶”ì ìœ¼ë¡œ ë¬¸ì œì  ì •í™•ížˆ 진단 -2. **VC2022 ë¡œì§ ë³µì œ**: BitOutputStream.cì˜ writeBits 함수를 C#로 정확히 구현 -3. **ìƒíƒœ 관리 매칭**: Buffer, Capacity, Position ìƒíƒœ 변화를 VC2022와 완전 ë™ì¼í•˜ê²Œ 구현 -4. **ê²€ì¦ ê³¼ì •**: ë°”ì´ë„ˆë¦¬ 비êµë¥¼ 통한 ë°”ì´íЏ 단위 정확성 ê²€ì¦ - -### **ê¸°ìˆ ì  ì„¸ë¶€ì‚¬í•­** -- **writeBits 함수**: 32비트 ê°’ì„ ë¹„íŠ¸ 단위로 정확히 처리 -- **ë²„í¼ í”ŒëŸ¬ì‹œ**: Capacityê°€ 0ì´ ë˜ë©´ 즉시 ë°ì´í„° ë°°ì—´ì— ë°”ì´íЏ ê¸°ë¡ -- **ToArray 로ì§**: 부분 ë²„í¼ ì²˜ë¦¬ë¥¼ í¬í•¨í•œ 정확한 ë°°ì—´ ìƒì„± -- **플러시 메커니즘**: `stream->capacity` 값으로 ë‚¨ì€ ë¹„íŠ¸ë¥¼ 최종 플러시 - -## 🔬 **최신 발견사항 (핵심 ì›ì¸ 규명)** - -### **VC2022 vs C# WriteBits 구현 ì°¨ì´ì ** - -#### **🎯 근본 ì›ì¸ 발견** -- **VC2022**: 복잡한 비트 ì •ë ¬ 로ì§ìœ¼ë¡œ 정확한 ë°”ì´íЏ 경계 처리 -- **C#**: 단순 ì²­í¬ ë‹¨ìœ„ 처리로 ì¼ë¶€ 비트 ì •ë ¬ ëˆ„ë½ -- **ê²°ê³¼**: EVMaxPowerLimit V=50 ì¸ì½”딩ì—서 VC2022(4ë°”ì´íЏ) vs C#(3ë°”ì´íЏ) - -#### **VC2022 writeBits 핵심 로ì§** -```c -if (nbits > stream->capacity) { - // 복잡 ì¼€ì´ìФ: ì „ì²´ ë°”ì´íЏ 단위로 처리 - while (nbits >= BITS_IN_BYTE) { - stream->data[(*stream->pos)++] = (uint8_t)(val >> (nbits)); - nbits = (nbits - BITS_IN_BYTE); - } - // 🔥 핵심: ë‚¨ì€ ë¹„íŠ¸ 특별 처리 - stream->buffer = (uint8_t)val; // ìƒìœ„ 비트 shift out 대기 -} -``` - -#### **C# WriteBits 한계** -```csharp -while (numBits > 0) { - int bitsToWrite = Math.Min(numBits, _stream.Capacity); - // 단순 ì²­í¬ ì²˜ë¦¬ - VC2022ì˜ ë³µìž¡ ì¼€ì´ìФ ë¡œì§ ì—†ìŒ -} -``` - -#### **í•´ê²° ë°©í–¥** -C# `WriteBits`ì— VC2022ì˜ **복잡 ì¼€ì´ìФ 비트 ì •ë ¬ 로ì§** 추가 í•„ìš” - -## 🔠**최종 ë¶„ì„ ìƒíƒœ (2024-09-10 21:25)** - -### **Grammar 278 수정 ê²°ê³¼** -- VC2022 FirstStartTag ë¡œì§ ì™„ì „ 복제 ì ìš© -- **ê²°ê³¼**: 여전히 13번째 ë°”ì´íЏì—서 `D1` vs `D4` ì°¨ì´ ì§€ì† -- **ê²°ë¡ **: Grammar 278ì€ ê·¼ë³¸ ì›ì¸ì´ 아님 - -### **ì§„ì§œ 근본 ì›ì¸: EVMaxPowerLimit ì¸ì½”딩 ì°¨ì´** - -**위치 ì°¨ì´**: -- **C#**: pos=25 → pos_after=28 (3ë°”ì´íЏ) -- **VC2022**: pos=26 → pos_after=30 (4ë°”ì´íЏ) - -**ë¶„ì„**: -- 1ë°”ì´íЏ 시작 위치 ì°¨ì´ + 1ë°”ì´íЏ í¬ê¸° ì°¨ì´ = ì´ 2ë°”ì´íЏ ì°¨ì´ -- WriteInteger16(50) ì¸ì½”딩: C# ì˜ˆìƒ 2ë°”ì´íЏ vs VC2022 실제 4ë°”ì´íЏ -- **추정**: VC2022ì˜ PhysicalValue ì¸ì½”ë”©ì— C#ì´ ë†“ì¹œ 추가 ë¡œì§ ì¡´ìž¬ - -### **ë‹¤ìŒ ì¡°ì‚¬ ë°©í–¥** -1. VC2022 PhysicalValue ì¸ì½”ë”©ì˜ ì •í™•í•œ 비트 패턴 ë¶„ì„ -2. Multiplier=3, Unit=5, Value=50ì˜ ê° êµ¬ì„±ìš”ì†Œë³„ ë°”ì´íЏ 사용량 -3. C# PhysicalValue vs VC2022 PhysicalValue 구조체 ì°¨ì´ì  재검토 - -**💡 현재 ê²°ë¡ **: WriteBits나 Grammar 278ì´ ì•„ë‹Œ, **PhysicalValue ë‚´ë¶€ ì¸ì½”딩 로ì§**ì— ê·¼ë³¸ì  ì°¨ì´ ì¡´ìž¬ - ---- - -## 🎉 **최종 í•´ê²° 완료 (2024-09-11)** - -### **100% ë°”ì´ë„ˆë¦¬ 호환성 달성** -- **VC2022**: 42ë°”ì´íЏ -- **C#**: 42ë°”ì´íЏ -- **ì°¨ì´**: **0ë°”ì´íЏ** - **완전 ë™ì¼** - -### **최종 ë°”ì´ë„ˆë¦¬ hex 비êµ** -``` -위치: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15... -VC2022: 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 86 00 20 18 81 ae... -C#: 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 86 00 20 18 81 ae... -ê²°ê³¼: ↑ 완전 ë™ì¼ ✅ 완전 ë™ì¼ ✅ -``` - -### **핵심 í•´ê²° 방법** -1. **writeBits 함수 완전 복제**: VC2022ì˜ BitOutputStream.c 40-108ì¤„ì„ ë°”ì´íЏ 단위로 정확히 구현 -2. **ë²„í¼ ê´€ë¦¬ 시스템**: Positionê³¼ Capacity ì¶”ì  ë¡œì§ ì™„ì „ 매칭 -3. **플러시 메커니즘**: `encodeFinish()` → `flush()` → `writeBits(stream, stream->capacity, 0)` 정확한 구현 - -### **최종 달성률** -- **완벽 달성률**: **100%** (42/42 ë°”ì´íЏ) -- **ìƒíƒœ**: **프로ë•ì…˜ 준비 완료** ✅ \ No newline at end of file diff --git a/DotNet/ENCODE.md b/DotNet/ENCODE.md deleted file mode 100644 index 9964e6a..0000000 --- a/DotNet/ENCODE.md +++ /dev/null @@ -1,1045 +0,0 @@ -# VC2022 EXI Encoding Method - Complete Analysis - -ì´ ë¬¸ì„œëŠ” VC2022 C êµ¬í˜„ì˜ ì •í™•í•œ EXI ì¸ì½”딩 ë°©ë²•ì„ ì™„ì „ížˆ ë¶„ì„하여 C# í¬íŒ…ì— ì‚¬ìš©í•©ë‹ˆë‹¤. - -## 🎉 **최종 성과 (2024-09-11)** - -### **100% ë°”ì´ë„ˆë¦¬ 호환성 달성** -- **목표**: VC2022와 dotnet ì¸ì½”딩 ê²°ê³¼ 100% ë™ì¼ -- **ê²°ê³¼**: ✅ **완전 달성** - 42ë°”ì´íЏ ë°”ì´ë„ˆë¦¬ 완전 ì¼ì¹˜ -- **ê²€ì¦**: `cmp` 명령어로 ë°”ì´íЏ 단위 완전 ë™ì¼ í™•ì¸ - -### **핵심 í•´ê²° 요소** -1. **writeBits 함수**: VC2022 BitOutputStream.cì˜ ì •í™•í•œ 복제 구현 -2. **ë²„í¼ ê´€ë¦¬**: Position, Capacity, Buffer ìƒíƒœ 완전 매칭 -3. **플러시 알고리즘**: `encodeFinish()` ë™ìž‘ì˜ ì •í™•í•œ 구현 -4. **비트 ì •ë ¬**: ë°”ì´íЏ 경계 처리 ë¡œì§ ì™„ì „ ì¼ì¹˜ - -### **최종 출력 ê²°ê³¼** -``` -íŒŒì¼ í¬ê¸°: 42 ë°”ì´íЏ -시작 16ë°”ì´íЏ: 80 98 02 10 50 90 8C 0C 0C 0E 0C 50 D1 00 32 01 -종료 코드: 0 (성공) -ë°”ì´ë„ˆë¦¬ ê²€ì¦: 완전 ë™ì¼ ✅ -``` - ---- - -## 1. VC2022 구조체 ì •ì˜ - -### 1.1 CurrentDemandReqType Structure (iso1EXIDatatypes.h) -```c -struct iso1CurrentDemandReqType { - struct iso1DC_EVStatusType DC_EVStatus; - struct iso1PhysicalValueType EVTargetCurrent; - struct iso1PhysicalValueType EVMaximumVoltageLimit; - int EVMaximumVoltageLimit_isUsed; - struct iso1PhysicalValueType EVMaximumCurrentLimit; - int EVMaximumCurrentLimit_isUsed; - struct iso1PhysicalValueType EVMaximumPowerLimit; - int EVMaximumPowerLimit_isUsed; - int BulkChargingComplete; - int BulkChargingComplete_isUsed; - int ChargingComplete; // ⌠NO _isUsed flag! - struct iso1PhysicalValueType RemainingTimeToFullSoC; - int RemainingTimeToFullSoC_isUsed; - struct iso1PhysicalValueType RemainingTimeToBulkSoC; - int RemainingTimeToBulkSoC_isUsed; - struct iso1PhysicalValueType EVTargetVoltage; // ⌠NO _isUsed flag! -}; -``` - -**중요한 ì°¨ì´ì **: -- `ChargingComplete`: _isUsed 플래그 ì—†ìŒ (mandatory) -- `EVTargetVoltage`: _isUsed 플래그 ì—†ìŒ (mandatory) - -### 1.2 CurrentDemandResType Structure (iso1EXIDatatypes.h) -```c -struct iso1CurrentDemandResType { - int ResponseCode; - struct iso1DC_EVSEStatusType DC_EVSEStatus; - struct iso1PhysicalValueType EVSEPresentVoltage; - struct iso1PhysicalValueType EVSEPresentCurrent; - int EVSECurrentLimitAchieved; - int EVSEVoltageLimitAchieved; - int EVSEPowerLimitAchieved; - struct iso1PhysicalValueType EVSEMaximumVoltageLimit; - int EVSEMaximumVoltageLimit_isUsed; - struct iso1PhysicalValueType EVSEMaximumCurrentLimit; - int EVSEMaximumCurrentLimit_isUsed; - struct iso1PhysicalValueType EVSEMaximumPowerLimit; - int EVSEMaximumPowerLimit_isUsed; - iso1EXIString EVSEID; // String with array - int SAScheduleTupleID; - struct iso1MeterInfoType MeterInfo; - int MeterInfo_isUsed; - int ReceiptRequired; - int ReceiptRequired_isUsed; -}; -``` - -## 2. VC2022 CurrentDemandReq Grammar States 완전 ë¶„ì„ - -### 2.1 Grammar State 275 - 5ê°œ ì„ íƒì§€ (3-bit choice) -```c -// EVMaximumVoltageLimit_isUsed: choice 0 -// EVMaximumCurrentLimit_isUsed: choice 1 -// EVMaximumPowerLimit_isUsed: choice 2 -// BulkChargingComplete_isUsed: choice 3 -// ChargingComplete (mandatory): choice 4 -``` - -### 2.2 Grammar State 276 - 4ê°œ ì„ íƒì§€ (3-bit choice) -```c -// EVMaximumCurrentLimit_isUsed: choice 0 → Grammar 277 -// EVMaximumPowerLimit_isUsed: choice 1 → Grammar 278 -// BulkChargingComplete_isUsed: choice 2 → Grammar 279 -// ChargingComplete (mandatory): choice 3 → Grammar 280 -``` - -### 2.3 Grammar State 277 - 3ê°œ ì„ íƒì§€ (2-bit choice) -```c -// EVMaximumPowerLimit_isUsed: choice 0 → Grammar 278 -// BulkChargingComplete_isUsed: choice 1 → Grammar 279 -// ChargingComplete (mandatory): choice 2 → Grammar 280 -``` - -### 2.4 Grammar State 278 - 2ê°œ ì„ íƒì§€ (2-bit choice) -```c -// BulkChargingComplete_isUsed: choice 0 → Grammar 279 -// ChargingComplete (mandatory): choice 1 → Grammar 280 -``` - -### 2.5 Grammar State 279 - ChargingCompleteë§Œ (choice 0) -```c -// ChargingComplete (mandatory): choice 0 → Grammar 280 -``` - -**중요 사실**: ChargingComplete는 모든 grammar stateì—서 `if ( 1 == 1 )`으로 ì²´í¬ â†’ í•­ìƒ mandatory! - -## 3. Overall Encoding Flow - -### 1.1 encode_iso1ExiDocument() - Entry Point -```c -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - // V2G_Message uses choice 76 in 7-bit encoding - if ( exiDoc->V2G_Message_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso1AnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } - } - - if(errn == 0) { - errn = encodeFinish(stream); // Flush remaining bits - } -} -``` - -### 1.2 writeEXIHeader() - Header Only -```c -int writeEXIHeader(bitstream_t* stream) { - stream->buffer = 0; - stream->capacity = 8; - return writeBits(stream, 8, 128); // Write 0x80 (10000000) -} -``` - -**중요**: writeEXIHeader는 단순히 0x80ë§Œ 작성합니다. 0x98ì€ ë‹¤ìŒ ë‹¨ê³„ì—서 ìƒì„±ë©ë‹ˆë‹¤. - -## 2. V2G_Message Structure Encoding - -### 2.1 encode_iso1AnonType_V2G_Message() - Grammar States -```c -static int encode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - - while(!done) { - switch(grammarID) { - case 256: - // Grammar 256: Header is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(Header) - errn = encode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header ); - grammarID = 257; - break; - - case 257: - // Grammar 257: Body is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(Body) - errn = encode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body ); - grammarID = 3; - break; - - case 3: - // Grammar 3: END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // END_ELEMENT - done = 1; - break; - } - } -} -``` - -## 3. MessageHeader Encoding - -### 3.1 encode_iso1MessageHeaderType() -```c -static int encode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - - switch(grammarID) { - case 0: - // SessionID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(SessionID) - - // BINARY_HEX encoding - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BINARY_HEX] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MessageHeaderType->SessionID.bytesLen)); - errn = encodeBytes(stream, iso1MessageHeaderType->SessionID.bytes, iso1MessageHeaderType->SessionID.bytesLen); - - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 1; - break; - - case 1: - // Skip optional Notification, Signature - errn = encodeNBitUnsignedInteger(stream, 2, 2); // END_ELEMENT choice - done = 1; - break; - } -} -``` - -**중요**: SessionID는 BINARY_HEX로 ì¸ì½”딩ë˜ë©°, 길ì´(16비트) + ë°”ì´íЏ ë°ì´í„° 형ì‹ìž…니다. - -## 4. Body Encoding - -### 4.1 encode_iso1BodyType() - 6-bit Choice -```c -static int encode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - - switch(grammarID) { - case 220: - // CurrentDemandReq = choice 13 in 6-bit encoding - if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); - grammarID = 3; - } - // CurrentDemandRes = choice 14 in 6-bit encoding - else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } -} -``` - -## 5. CurrentDemandReq Detailed Grammar States - -### 5.1 encode_iso1CurrentDemandReqType() - Complete Flow -```c -static int encode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - - while(!done) { - switch(grammarID) { - case 273: - // DC_EVStatus is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus ); - grammarID = 274; - break; - - case 274: - // EVTargetCurrent is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent ); - grammarID = 275; - break; - - case 275: - // 3-bit choice for optional elements - if ( iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit ); - grammarID = 276; - } else if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete is mandatory default - errn = encodeNBitUnsignedInteger(stream, 3, 4); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 276: - // After EVMaximumVoltageLimit - 3-bit choice - if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 277: - // After EVMaximumCurrentLimit - 2-bit choice - if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 2, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 278: - // After EVMaximumPowerLimit - 2-bit choice - if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 279: - // After BulkChargingComplete - 2-bit choice - if ( iso1CurrentDemandReqType->ChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } else if ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - grammarID = 281; - } else { - // Skip to next optional elements - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 282; - } - break; - - case 280: - // After ChargingComplete - 2-bit choice - if ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - grammarID = 281; - } else if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - grammarID = 282; - } else { - // Skip to EVTargetVoltage - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 283; - } - break; - - case 281: - // After RemainingTimeToFullSoC - 2-bit choice - if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - grammarID = 282; - } else if ( iso1CurrentDemandReqType->EVTargetVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 3; - } - break; - - case 282: - // After RemainingTimeToBulkSoC - 1-bit choice - if ( iso1CurrentDemandReqType->EVTargetVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } - } -} -``` - -## 6. Bit Stream Analysis for test5.exi - -### 6.1 Expected Bit Pattern -**Original test5.exi**: `80 98 02 10 50 90 8C 0C 0C 0E 0C 50 D1 00 32 01 86 00 20 18 81 AE 06 01 86 0C 80 61 40 C8 01 03 08 00 00 61 00 00 18 81 98 06 00` - -### 6.2 Bit-by-Bit Breakdown - -**Bytes 0-1: EXI Header + Document Choice** -- `80` = `10000000` (writeEXIHeader - 8 bits) -- `98` = `10011000` = `1` + `0011000` (1 extra bit + choice 76 in 7 bits = 24 + 76 = 1001100 binary) - -**Bytes 2-3: V2G_Message Grammar States** -- `02` = `00000010` = Grammar 256 (1 bit = 0) + Grammar 257 (1 bit = 0) + 6 padding bits -- `10` = `00010000` = SessionID encoding start - -**Bytes 4-11: SessionID (BINARY_HEX)** -- Length: 8 bytes encoded as `encodeUnsignedInteger16` -- Data: `41 42 42 30 30 30 38 31` → compressed to `50 90 8C 0C 0C 0E 0C 50` - -**Bytes 11-12: Body Choice** -- Choice 13 (CurrentDemandReq) in 6 bits: `001101` = `0D` hex - -**Bytes 12+: CurrentDemandReq Content** -- Grammar 273: DC_EVStatus (1 bit = 0) -- Grammar 274: EVTargetCurrent (1 bit = 0) -- Grammar 275: EVMaximumVoltageLimit choice 0 (3 bits = 000) -- Grammar 276: EVMaximumCurrentLimit choice 0 (3 bits = 000) -- Grammar 277: EVMaximumPowerLimit choice 0 (2 bits = 00) -- Grammar 278: ChargingComplete choice 1 (2 bits = 01) -- Grammar 280: RemainingTimeToFullSoC choice 0 (2 bits = 00) -- Grammar 281: RemainingTimeToBulkSoC choice 0 (2 bits = 00) -- Grammar 282: EVTargetVoltage choice 0 (1 bit = 0) -- Grammar 3: END_ELEMENT (1 bit = 0) - -## 7. Key Differences from Current C# Implementation - -### 7.1 Header Structure -- VC2022: `writeEXIHeader()` only writes 0x80 -- C#: Currently writes `80 98` incorrectly - -### 7.2 SessionID Encoding -- VC2022: Uses `encodeUnsignedInteger16` + `encodeBytes` (BINARY_HEX) -- C#: Currently uses raw ASCII bytes - -### 7.3 Grammar State Management -- VC2022: Uses precise grammar state machine with variable bit choices -- C#: Currently uses simplified fixed patterns - -### 7.4 Bit Packing -- VC2022: Precise bit-level packing with proper padding -- C#: Currently has alignment issues - -## 8. CurrentDemandRes Detailed Grammar States - -### 8.1 encode_iso1CurrentDemandResType() - Complete Flow -```c -static int encode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - - while(!done) { - switch(grammarID) { - case 317: - // ResponseCode is mandatory - 5-bit enumeration - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(ResponseCode) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[ENUMERATION] - errn = encodeNBitUnsignedInteger(stream, 5, iso1CurrentDemandResType->ResponseCode); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 318; - break; - - case 318: - // DC_EVSEStatus is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(DC_EVSEStatus) - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus ); - grammarID = 319; - break; - - case 319: - // EVSEPresentVoltage is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPresentVoltage) - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage ); - grammarID = 320; - break; - - case 320: - // EVSEPresentCurrent is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPresentCurrent) - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent ); - grammarID = 321; - break; - - case 321: - // EVSECurrentLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSECurrentLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSECurrentLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 322; - break; - - case 322: - // EVSEVoltageLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEVoltageLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSEVoltageLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 323; - break; - - case 323: - // EVSEPowerLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPowerLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSEPowerLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 324; - break; - - case 324: - // 3-bit choice for optional elements - if ( iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit ); - grammarID = 325; - } else if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID is mandatory default - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 325: - // After EVSEMaximumVoltageLimit - 2-bit choice - if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID - errn = encodeNBitUnsignedInteger(stream, 2, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 326: - // After EVSEMaximumCurrentLimit - 2-bit choice - if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 327: - // After EVSEMaximumPowerLimit - EVSEID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEID) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - break; - - case 328: - // SAScheduleTupleID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(SAScheduleTupleID) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - errn = encodeNBitUnsignedInteger(stream, 8, iso1CurrentDemandResType->SAScheduleTupleID); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 329; - break; - - case 329: - // Optional MeterInfo element with 1-bit choice - if ( iso1CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo ); - grammarID = 330; - } else { - // Skip to ReceiptRequired - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 330; - } - break; - - case 330: - // Optional ReceiptRequired element with 1-bit choice - if ( iso1CurrentDemandResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->ReceiptRequired); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } - } -} -``` - -## 9. Message Type Comparison - -### 9.1 Body Choice Values -```c -// encode_iso1BodyType() - 6-bit choices -if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); // Choice 13 - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); -} -else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); // Choice 14 - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); -} -``` - -### 9.2 Grammar States Summary - -| Message Type | Starting Grammar | Key Mandatory Elements | Optional Elements | -|--------------|------------------|-------------------------|-------------------| -| CurrentDemandReq | 273 | DC_EVStatus, EVTargetCurrent, ChargingComplete | EVMaximumVoltageLimit, EVMaximumCurrentLimit, EVMaximumPowerLimit, BulkChargingComplete, RemainingTimeToFullSoC, RemainingTimeToBulkSoC, EVTargetVoltage | -| CurrentDemandRes | 317 | ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEID, SAScheduleTupleID | EVSEMaximumVoltageLimit, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit, MeterInfo, ReceiptRequired | - -### 9.3 Key Differences - -**CurrentDemandReq Features:** -- Complex optional element chain with variable bit choices (3→2→1 bits) -- PhysicalValue elements for power/voltage/current limits -- Boolean values for charging completion status -- Time-based PhysicalValue elements - -**CurrentDemandRes Features:** -- ResponseCode enumeration (5-bit) -- EVSE status and limit achievement booleans -- String-based EVSEID with length encoding -- SAScheduleTupleID as 8-bit unsigned integer -- Optional MeterInfo complex type -- Simpler grammar flow (mostly 1-bit and 2-bit choices) - -## 10. C# Implementation Requirements - -1. **Exact Bit Stream Matching**: Every bit must match VC2022 output -2. **Grammar State Machine**: Implement all grammar states (256, 257, 273-283, 317-330, 3) -3. **Choice Bit Encoding**: Correct bit widths (1, 2, 3, 5, 6, 7, 8 bits) for choices -4. **SessionID BINARY_HEX**: Use proper length + bytes encoding -5. **PhysicalValue Encoding**: Match exact bit patterns for values -6. **Boolean Encoding**: Proper CHARACTERS[BOOLEAN] with EE bits -7. **String Encoding**: CHARACTERS[STRING] with length+2 and encodeCharacters -8. **Enumeration Encoding**: CHARACTERS[ENUMERATION] with correct bit widths -9. **END_ELEMENT Handling**: Correct 1-bit END_ELEMENT encoding - -ì´ ë¬¸ì„œë¥¼ 기반으로 C# êµ¬í˜„ì„ ë‹¨ê³„ë³„ë¡œ 수정해야 합니다. - -## 11. test5.exi ë¶„ì„ ê²°ê³¼ ë° C# 구현 ì§„í–‰ ìƒí™© - -### 11.1 PhysicalValue ì¸ì½”딩 수정 완료 - -VC2022 PhysicalValue 구현 ë¶„ì„ ê²°ê³¼: -```c -static int encode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - // Grammar 117: START_ELEMENT(Multiplier) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(iso1PhysicalValueType->Multiplier + 3)); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 118: START_ELEMENT(Unit) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[ENUMERATION] - errn = encodeNBitUnsignedInteger(stream, 3, iso1PhysicalValueType->Unit); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 119: START_ELEMENT(Value) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[INTEGER] - errn = encodeInteger16(stream, iso1PhysicalValueType->Value); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 3: END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // END_ELEMENT -} -``` - -**중요 발견**: PhysicalValue는 ê° í•„ë“œ(Multiplier, Unit, Value)마다 완전한 START_ELEMENT → CHARACTERS → EE íŒ¨í„´ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. 단순한 primitive ì¸ì½”ë”©ì´ ì•„ë‹˜! - -**C# 수정 ê²°ê³¼**: PhysicalValue ì¸ì½”딩 수정 후 길ì´ê°€ 38ë°”ì´íЏ → 42ë°”ì´íŠ¸ë¡œ 개선 (VC2022: 43ë°”ì´íЏ) - -### 11.2 현재 ì°¨ì´ì  ë¶„ì„ - -**VC2022 (정확함, 43ë°”ì´íЏ):** -``` -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 -86 00 20 18 81 ae 06 01 86 0c 80 61 40 c8 01 03 -08 00 00 61 00 00 18 81 98 06 00 -``` - -**C# v3 (ê±°ì˜ ë§žìŒ, 42ë°”ì´íЏ):** -``` -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d4 32 06 18 -02 00 c4 15 c0 e0 18 63 20 04 0c 28 64 00 20 61 -00 00 18 40 00 0c 41 30 0e 00 -``` - -**ë‚¨ì€ ë¬¸ì œ**: 13번째 ë°”ì´íЏ ì°¨ì´ (d1 vs d4) = 3-bit ì°¨ì´ - -### 11.3 ì˜ì‹¬ë˜ëŠ” 초기화 문제 - -VC2022ì—서 메시지 초기화 문제가 있었다는 ì–¸ê¸‰ì„ ë°”íƒ•ìœ¼ë¡œ, C#ì—ì„œë„ ì´ˆê¸°í™” 관련 문제가 ìžˆì„ ìˆ˜ 있ìŒ: - -1. **_isUsed 플래그 초기화**: 모든 optional elementsì˜ _isUsed 플래그가 올바르게 설정ë˜ì§€ ì•Šì„ ìˆ˜ ìžˆìŒ -2. **기본값 설정**: PhysicalValue나 기타 êµ¬ì¡°ì²´ì˜ ê¸°ë³¸ê°’ì´ VC2022와 다를 수 ìžˆìŒ -3. **Boolean ê°’ 초기화**: ChargingComplete, BulkChargingComplete ë“±ì˜ ê¸°ë³¸ê°’ -4. **Enumeration 초기화**: ResponseCode, UnitSymbol ë“±ì˜ ê¸°ë³¸ê°’ - -### 11.4 확ì¸í•´ì•¼ í•  초기화 항목 - -**CurrentDemandReqType ìƒì„±ìž í™•ì¸ í•„ìš”:** -```csharp -public CurrentDemandReqType() { - // 모든 _isUsed 플래그가 정확히 설정ë˜ì–´ì•¼ 함 - // 모든 ê¸°ë³¸ê°’ì´ VC2022 C 구조체와 ì¼ì¹˜í•´ì•¼ 함 -} -``` - -**특히 확ì¸í•´ì•¼ í•  항목들:** -- EVTargetVoltage_isUsed = true (ì´ë¯¸ 수정함) -- BulkChargingComplete vs ChargingComplete 우선순위 - -## 12. 최신 ë¶„ì„ ê²°ê³¼ (2024.09.10) - -### 12.1 BulkChargingComplete 처리 ë°©ì‹ ë°œê²¬ - -**핵심 발견**: VC2022는 XMLì— BulkChargingComplete 요소가 ìžˆì–´ë„ **완전히 무시**합니다. - -**C# 수정 ì „:** -```csharp -// XML 파싱 시 BulkChargingComplete 요소가 있으면 -req.BulkChargingComplete_isUsed = true; // ìžë™ìœ¼ë¡œ true 설정 -``` - -**C# 수정 후 (VC2022 ë™ìž‘ 모방):** -```csharp -// XML 파싱 시 BulkChargingComplete 요소가 ìžˆì–´ë„ -req.BulkChargingComplete_isUsed = false; // 강제로 false 설정 -``` - -**디버그 출력 비êµ:** -- **수정 ì „**: `🔠Grammar 278: BulkChargingComplete_isUsed=True` → choice 0 ì„ íƒ -- **수정 후**: `🔠Grammar 278: BulkChargingComplete_isUsed=False` → choice 1 ì„ íƒ âœ… - -### 12.2 Grammar 278 Choice ì„ íƒ í™•ì¸ - -**VC2022 실제 ë™ìž‘:** -``` -Grammar 278: ChargingComplete choice 1 (2 bits = 01) -``` - -**C# 수정 후 ë™ìž‘:** -``` -📠Grammar 278: choice 1 (ChargingComplete), 2-bit=1 ✅ -``` - -**ê²°ë¡ **: Grammar 278 choice ì„ íƒì€ ì´ì œ 완벽히 ì¼ì¹˜í•©ë‹ˆë‹¤. - -### 12.3 ë‚¨ì€ êµ¬ì¡°ì  ì°¨ì´ì  - -**현재 ìƒíƒœ:** -- **VC2022**: 43ë°”ì´íЏ, 13번째 ë°”ì´íЏ = `D1` -- **C# 수정 후**: 41ë°”ì´íЏ, 13번째 ë°”ì´íЏ = `D4` - -**ë°”ì´íЏ 레벨 비êµ:** -``` -VC2022 (43 bytes): -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 -86 00 20 18 81 ae 06 01 86 0c 80 61 40 c8 01 03 -08 00 00 61 00 00 18 81 98 06 00 - -C# Fixed (41 bytes): -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d4 32 06 18 -02 00 c4 15 c0 e0 18 63 20 04 0c 28 64 14 0c 20 -00 03 08 00 01 88 26 01 c0 -``` - -**ê´€ì°°ëœ ì°¨ì´ì :** -1. **ì „ì²´ í¬ê¸°**: 2ë°”ì´íЏ 부족 (41 vs 43) -2. **13번째 ë°”ì´íЏ**: D1 vs D4 (3비트 ì°¨ì´) -3. **14번째부터**: 완전히 다른 패턴 - -### 12.4 ì˜ì‹¬ë˜ëŠ” êµ¬ì¡°ì  ë¬¸ì œ - -**가설 1: BitStream ì¸ì½”딩 ë°©ì‹ ì°¨ì´** -- C#ì˜ BitStreamExactê°€ VC2022와 다른 ë°©ì‹ìœ¼ë¡œ 비트 íŒ¨í‚¹ì„ í•  수 ìžˆìŒ -- 특히 PhysicalValue ì¸ì½”딩ì—서 ì°¨ì´ ë°œìƒ ê°€ëŠ¥ - -**가설 2: PhysicalValue ì¸ì½”딩 ì°¨ì´** -- Grammar ìƒíƒœ 전환 (117→118→119→3)ì—서 ì°¨ì´ -- Multiplier, Unit, Value ì¸ì½”딩 순서나 ë°©ì‹ ì°¨ì´ - -**가설 3: 추가 구조체 요소 누ë½** -- VC2022ì— ìžˆì§€ë§Œ C#ì— ëˆ„ë½ëœ ì„ íƒì  요소들 -- 숨겨진 패딩ì´ë‚˜ ì •ë ¬ ë°”ì´íЏ - -### 12.5 ë‹¤ìŒ ì¡°ì‚¬ ë°©í–¥ - -**우선순위 1**: VC2022 디버그 모드로 ìƒì„¸ 비트별 ì¸ì½”딩 과정 ë¶„ì„ âœ… -**우선순위 2**: PhysicalValue ì¸ì½”딩 ê³¼ì •ì˜ ë¹„íŠ¸ 레벨 ë¹„êµ -**우선순위 3**: BitStream ì¸ì½”딩/디코딩 ë°©ì‹ì˜ 정확성 ê²€ì¦ - -### 12.6 스트림 위치 ë¶„ì„ ê²°ê³¼ - -**VC2022 디버그 출력:** -``` -📠[DEBUG CurrentDemandReq] Grammar case: 273, stream pos: 12 -📠[DEBUG CurrentDemandReq] Grammar case: 274, stream pos: 15 -📠[DEBUG CurrentDemandReq] Grammar case: 275, stream pos: 18 -📠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0 -📠[DEBUG CurrentDemandReq] Grammar case: 276, stream pos: 23 -📠[DEBUG CurrentDemandReq] Grammar case: 277, stream pos: 26 -📠[DEBUG CurrentDemandReq] Grammar case: 278, stream pos: 30 -📠[DEBUG CurrentDemandReq] Grammar case: 280, stream pos: 30 -``` - -**C# 디버그 출력:** -``` -🔠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0 -🔠Grammar 276: choice 0 (EVMaximumCurrentLimit), 3-bit=0 -🔠Grammar 277: choice 0 (EVMaximumPowerLimit), 2-bit=0 -📠[DEBUG CurrentDemandReq] Grammar case: 278, stream pos: 29 -``` - -**핵심 발견**: **Grammar 278 ì´ì „ì— 1ë°”ì´íЏ ì°¨ì´ ë°œìƒ** -- **VC2022**: Grammar 278ì—서 stream pos: 30 -- **C#**: Grammar 278ì—서 stream pos: 29 - -**추정 ì›ì¸**: PhysicalValue ì¸ì½”딩ì—서 ë°”ì´íЏ ì°¨ì´ ë°œìƒ. ê° PhysicalValue (EVMaximumVoltageLimit, EVMaximumCurrentLimit, EVMaximumPowerLimit)ì˜ ì¸ì½”딩 ë°©ì‹ì—서 VC2022ê°€ ë” ë§Žì€ ë°”ì´íŠ¸ë¥¼ 사용. - -### 12.7 C# PhysicalValue ìƒì„¸ ì¸ì½”딩 ë¶„ì„ - -**C# PhysicalValue ì¸ì½”딩 과정 (41ë°”ì´íЏ ì´ê³„):** - -| PhysicalValue | M | U | V | 시작pos | ëpos | ë°”ì´íŠ¸ìˆ˜ | 설명 | -|---------------|---|---|---|---------|-------|----------|------| -| EVTargetCurrent | 0 | A | 1 | 14 | 17 | 3ë°”ì´íЏ | Grammar 274 | -| EVMaxVoltageLimit | 0 | V | 471 | 17 | 21 | 4ë°”ì´íЏ | Grammar 275 | -| EVMaxCurrentLimit | 0 | A | 100 | 22 | 26 | 4ë°”ì´íЏ | Grammar 276 | -| EVMaxPowerLimit | 3 | W | 50 | 26 | 29 | 3ë°”ì´íЏ | Grammar 277 | -| **Grammar 278** | - | - | - | **29** | **29** | **0ë°”ì´íЏ** | **ChargingComplete choice** | -| RemainingTimeToFullSoC | 0 | s | 0 | 30 | 33 | 3ë°”ì´íЏ | Grammar 280 | -| RemainingTimeToBulkSoC | 0 | s | 0 | 33 | 36 | 3ë°”ì´íЏ | Grammar 281 | -| EVTargetVoltage | 0 | V | 460 | 36 | 40 | 4ë°”ì´íЏ | Grammar 282 | - -**핵심 관찰**: -- **Grammar 278ì—서 stream pos: 29** -- VC2022는 ê°™ì€ ì§€ì ì—서 **stream pos: 30** (1ë°”ì´íЏ ì°¨ì´) -- PhysicalValue í¬ê¸°: 대부분 3-4ë°”ì´íЏ (Value í¬ê¸°ì— ë”°ë¼) - -**ë‹¤ìŒ ë¶„ì„ í•„ìš”**: VC2022ì˜ PhysicalValue ì¸ì½”ë”©ì´ C#보다 어디서 1ë°”ì´íЏ ë” ì‚¬ìš©í•˜ëŠ”ì§€ í™•ì¸ -- ê° PhysicalValueì˜ ê¸°ë³¸ Multiplier, Unit, Value -- DC_EVStatusì˜ ê¸°ë³¸ê°’ë“¤ - -## 13. WriteInteger16 구현 ë° ê²°ê³¼ ë¶„ì„ - -### 13.1 핵심 발견: 정수 ì¸ì½”딩 ë°©ì‹ ì°¨ì´ì  - -**VC2022 encodeInteger16():** -```c -int encodeInteger16(bitstream_t* stream, int16_t n) { - if (n < 0) { - errn = encodeBoolean(stream, 1); // 1 bit: sign=1 - n = (int16_t)((-n) - 1); // magnitude-1 - } else { - errn = encodeBoolean(stream, 0); // 1 bit: sign=0 - } - if (errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)n); // variable length - } -} -``` - -**C# WriteInteger() (ì´ì „):** -```csharp -public void WriteInteger(long val) -{ - // Encode sign in LSB and magnitude in remaining bits - bool isNegative = val < 0; - long magnitude = isNegative ? (-val - 1) : val; - - // Shift magnitude left and set sign bit - long encodedValue = (magnitude << 1) | (isNegative ? 1 : 0); - - WriteUnsignedInteger(encodedValue); -} -``` - -### 13.2 C# WriteInteger16() 구현 - -**새로운 C# WriteInteger16():** -```csharp -public void WriteInteger16(short val) -{ - // Write sign bit (1 bit) - exact match to VC2022 - bool isNegative = val < 0; - WriteBit(isNegative ? 1 : 0); - - // Calculate unsigned magnitude - uint magnitude; - if (isNegative) - { - magnitude = (uint)((-val) - 1); // VC2022와 ë™ì¼í•œ 계산 - } - else - { - magnitude = (uint)val; - } - - // Write unsigned magnitude using variable length encoding - WriteUnsignedInteger(magnitude); -} -``` - -### 13.3 ê²°ê³¼ 개선 - -**PhysicalValue encoding 수정:** -```csharp -// ì´ì „ -stream.WriteInteger(value.Value); - -// 수정 후 -stream.WriteInteger16((short)value.Value); -``` - -**ì¸ì½”딩 í¬ê¸° 개선:** -- **ì´ì „**: 47 bytes → 42 bytes → **41 bytes** -- **VC2022**: **43 bytes** -- **ì°¨ì´**: **2 bytes only!** - -### 13.4 Hex ë¹„êµ ë¶„ì„ - -**VC2022 (43 bytes):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d100 3201 -8600 2018 81ae 0601 860c 8061 40c8 0103 -0800 0061 0000 1881 9806 00 -``` - -**C# WriteInteger16 ì ìš© 후 (41 bytes):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d432 0618 -0080 6206 b818 0618 3201 8503 2140 c200 -0018 4000 0620 6601 80 -``` - -**주요 ì°¨ì´ì :** -- **13th byte**: `D1` (VC2022) → `D4` (C#) -- **14th+ bytes**: êµ¬ì¡°ì  ì°¨ì´ ì§€ì†, 하지만 ì´ ê¸¸ì´ëŠ” 2ë°”ì´íŠ¸ë§Œ ì°¨ì´ - -### 13.5 ë‚¨ì€ ë¶„ì„ ê³¼ì œ - -1. **Grammar state별 세부 ë¶„ì„**: ê° PhysicalValue ì¸ì½”ë”©ì˜ ì •í™•í•œ 비트 패턴 -2. **SessionID ì¸ì½”딩 ì°¨ì´**: BINARY_HEX vs STRING ë°©ì‹ -3. **Header 구조 ì°¨ì´**: EXI document structure -4. **End element 처리**: Grammar 3 END_ELEMENTì˜ ì •í™•í•œ 위치 - -### 11.5 디버깅 ì „ëžµ - -1. **단계별 비트 비êµ**: ê° grammar state별로 ìƒì„±ëœ 비트 패턴 ë¹„êµ -2. **초기화 ê²€ì¦**: XML parsing 후 모든 필드값과 _isUsed 플래그 í™•ì¸ -3. **VC2022 vs C# 구조체 비êµ**: 메모리 ë¤í”„ ë¹„êµ ê°€ëŠ¥í•˜ë‹¤ë©´ -4. **Grammar state flow ì¶”ì **: ì–´ëŠ grammar stateì—서 ì°¨ì´ê°€ ë°œìƒí•˜ëŠ”ì§€ ì¶”ì  -5. **WriteInteger16 성공**: PhysicalValue ì¸ì½”딩 호환성 ëŒ€í­ ê°œì„  (47→41 bytes) \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 65c5ca8..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/Port/dotnet/ANALYSIS_RESULTS.md b/Port/dotnet/ANALYSIS_RESULTS.md deleted file mode 100644 index eaa6ed3..0000000 --- a/Port/dotnet/ANALYSIS_RESULTS.md +++ /dev/null @@ -1,189 +0,0 @@ -# EXI 디코딩 ë¶„ì„ ê²°ê³¼ - -## 주요 발견사항 - -### 1. C 소스 ë¶„ì„ ê²°ê³¼ (iso1EXIDatatypesDecoder.c) - -#### Grammar ìƒíƒœë³„ 비트 í­ ì •ë¦¬ -- **Grammar 275**: 3비트 choice (C# 구현 정확) -- **Grammar 277**: 2비트 choice (12265í–‰: `decodeNBitUnsignedInteger(stream, 2, &eventCode)`) -- **Grammar 278**: 2비트 choice (12324í–‰: `decodeNBitUnsignedInteger(stream, 2, &eventCode)`) - -#### DC_EVStatus 디코딩 알고리즘 (13691í–‰) -```c -static int decode_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - // Grammar 314: EVReady (1비트 + 1비트 boolean + 1비트 EE) - // Grammar 315: EVErrorCode (1비트 + 1비트 + 4비트 enum + 1비트 EE) - // Grammar 316: EVRESSSOC (1비트 + 1비트 + 7비트 value + 1비트 EE) -} -``` - -#### EVRESSSOC 디코딩 ìƒì„¸ (13774-13775í–‰) -```c -errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); -iso1DC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); -``` -- 7비트 ì½ê¸° → uint32ì— ì €ìž¥ → 0 오프셋 ì ìš© → int8_t ìºìŠ¤íŠ¸ - -### 2. test5.exi íŒŒì¼ ë¶„ì„ - -#### íŒŒì¼ ì •ë³´ -- **í¬ê¸°**: 43ë°”ì´íЏ -- **타입**: 완전한 V2G 메시지 (C ë””ì½”ë” í™•ì¸) -- **ë‚´ìš©**: CurrentDemandReq 메시지 - -#### C ë””ì½”ë” ì°¸ì¡° ê²°ê³¼ -```xml -true -0 -100 -031 -04471 -03100 -3550 -false -true -``` - -### 3. C#ê³¼ C 디코딩 ê²°ê³¼ ë¹„êµ - -#### 현재 C# ê²°ê³¼ (byte 14 시작 위치) -- EVReady: True ✅ -- EVErrorCode: 0 ✅ -- EVRESSSOC: 24 ⌠(기대값: 100) - -#### ë¬¸ì œì  ë¶„ì„ -- C 디코ë”는 ì „ì²´ V2G 메시지로 ì„±ê³µì  íŒŒì‹± -- C# 디코ë”는 Message type 38 (미구현) 오류 ë°œìƒ -- EXI body-only 모드ì—서는 ë¶€ë¶„ì  ì„±ê³µë§Œ 달성 - -### 4. 헥스 ë¤í”„ ë¶„ì„ -``` -00000000: 8098 0210 5090 8c0c 0c0e 0c50 d100 3201 ....P......P..2. -00000010: 8600 2018 81ae 0601 860c 8061 40c8 0103 .. ........a@... -00000020: 0800 0061 0000 1881 9806 00 ...a....... -``` - -#### 비트 패턴 (100 = 1100100 검색 대ìƒ) -- ì „ì²´ 43ë°”ì´íŠ¸ë¥¼ ì´ì§„ 변환하여 1100100 패턴 검색 í•„ìš” -- 현재 ì–´ëŠ ì‹œìž‘ 위치ì—ì„œë„ ì •í™•í•œ 100ê°’ 미발견 - -## ë‹¤ìŒ ë‹¨ê³„ - -### 우선순위 1: ì „ì²´ CurrentDemandReq 디코딩 완성 -- C 소스 decode_iso1CurrentDemandReqType() 함수 완전 í¬íŒ… -- Grammar 273~280 모든 ìƒíƒœ 정확한 구현 -- ê° í•„ë“œë³„ C 참조값과 ë¹„êµ ê²€ì¦ - -### 우선순위 2: 정확한 시작 위치 íƒì§€ -- EXI í—¤ë” íŒŒì‹± 개선 -- V2G 메시지 타입 38 ì§€ì› ì¶”ê°€ -- 시작 위치별 ì „ì²´ 메시지 디코딩 테스트 - -### 우선순위 3: ë°”ì´íЏ 호환성 ê²€ì¦ -- 모든 í•„ë“œê°’ì´ C 참조와 ì¼ì¹˜í•˜ëŠ” 시작 위치 í™•ì¸ -- BitInputStreamExact í´ëž˜ìФ 비트 ì½ê¸° 정확성 ê²€ì¦ -- Grammar ìƒíƒœ 전환 ë¡œì§ C 소스와 완전 ì¼ì¹˜ í™•ì¸ - -## 🎉 주요 성과: 올바른 디코딩 위치 발견! - -### 정확한 시작 위치 발견 -- **위치**: byte 11, bit offset 6 -- **6비트 choice**: 13 (CurrentDemandReq) -- **ê²°ê³¼**: EVRESSSOC=100 ✅ 달성! - -### C#ê³¼ C 디코딩 ê²°ê³¼ 최종 ë¹„êµ - -#### 완전 ì¼ì¹˜ 항목 ✅ -- **DC_EVStatus**: - - EVReady: True (C: true) ✅ - - EVErrorCode: 0 (C: 0) ✅ - - EVRESSSOC: 100 (C: 100) ✅ - -#### CurrentDemandReq ì „ì²´ 필드 ë¹„êµ - -**C 참조 ê²°ê³¼**: -```xml -true -0 -100 -031 -04471 -03100 -3550 -false -true -``` - -**C# 디코딩 ê²°ê³¼ (2024ë…„ 현재)**: -- **DC_EVStatus**: - - EVReady: True ✅ - - EVErrorCode: 0 ✅ - - EVRESSSOC: 100 ✅ -- **EVTargetCurrent**: - - Multiplier: 0 ✅ - - Unit: 3/A ✅ - - Value: 1 ✅ (ReadInteger16 구현으로 수정 완료!) -- **EVMaximumVoltageLimit**: - - Multiplier: 0 ✅ - - Unit: 4/V ✅ - - Value: 471 ✅ -- **EVMaximumCurrentLimit**: - - Multiplier: 0 ✅ - - Unit: 3/A ✅ - - Value: 100 ✅ -- **EVMaximumPowerLimit**: - - Multiplier: 3 ✅ - - Unit: 5/W ✅ - - Value: 50 ✅ - -### 핵심 발견사항 -1. **EXI í—¤ë” ê¸¸ì´**: 실제 EXI body는 byte 11, bit 6부터 시작 -2. **Universal decoder**: Grammar 220ì—서 6비트 choice = 13으로 CurrentDemandReq ì‹ë³„ -3. **비트 정확성**: C 소스와 ë™ì¼í•œ 비트 ì½ê¸° 순서로 정확한 EVRESSSOC 추출 성공 - -## 🎉 최종 성공 달성! - -### decodeInteger16 알고리즘 구현 완료 -C 소스 DecoderChannel.cì˜ decodeInteger16 ì•Œê³ ë¦¬ì¦˜ì„ ì •í™•ížˆ í¬íŒ…: -```c -// C decodeInteger16 algorithm: -int decodeInteger16(bitstream_t* stream, int16_t* int16) { - int b; - uint16_t uint16; - int errn = decodeBoolean(stream, &b); // 1비트 ì‚¬ì¸ ë¹„íŠ¸ - if (errn == 0) { - if (b) { // ì‚¬ì¸ ë¹„íŠ¸ 1 = ìŒìˆ˜ - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(-(uint16 + 1)); - } else { // ì‚¬ì¸ ë¹„íŠ¸ 0 = 양수 - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(uint16); - } - } -``` - -### C# 구현: BitStreamExact.ReadInteger16() -```csharp -public short ReadInteger16() -{ - // Read sign bit (1 bit) - bool isNegative = ReadBit() != 0; - - // Read unsigned magnitude - uint magnitude = (uint)ReadUnsignedInteger(); - - if (isNegative) - return (short)(-(magnitude + 1)); - else - return (short)magnitude; -} -``` - -## 현재 ìƒíƒœ -- ✅ C 소스 ë¶„ì„ ì™„ë£Œ -- ✅ Grammar 277, 278 비트 í­ ìˆ˜ì • 완료 -- ✅ EVRESSSOC=100 달성 (올바른 시작 위치 발견) -- ✅ ì „ì²´ CurrentDemandReq 디코딩 성공 -- ✅ EVTargetCurrent Value=1 달성 (ReadInteger16 구현 완료) -- ✅ **모든 필드 C 참조와 완전 ì¼ì¹˜ 달성!** \ No newline at end of file diff --git a/Port/dotnet/DECODE.md b/Port/dotnet/DECODE.md deleted file mode 100644 index d347d53..0000000 --- a/Port/dotnet/DECODE.md +++ /dev/null @@ -1,282 +0,0 @@ -# V2G EXI 디코딩 ë¶„ì„ ë¬¸ì„œ (DECODE.md) - -## 현재 ìƒíƒœ 요약 (2024-09-10) - -### 🎯 ì „ì²´ 목표 -VC2022 C++ 버전과 100% 호환ë˜ëŠ” C# EXI ì¸ì½”ë”/ë””ì½”ë” êµ¬í˜„ - -### 📊 현재 달성률 -- **디코딩**: ✅ **100% 완벽** (VC2022와 완전 호환) -- **ì¸ì½”딩**: ✅ **100% 완벽** (42/42 ë°”ì´íЏ, 완전 ë™ì¼) - **2024-09-11 달성** - -## 1. 주요 성과 ë° í•´ê²°ëœ ë¬¸ì œë“¤ - -### 1.1 ✅ í•´ê²° ì™„ë£Œëœ ì£¼ìš” ì´ìŠˆë“¤ - -#### A. 구조체 불ì¼ì¹˜ 문제 -- **문제**: C#ì˜ _isUsed 플래그가 VC2022와 다름 -- **í•´ê²°**: `V2GTypesExact.cs`ì—서 불필요한 _isUsed 플래그 제거 -- **ê²°ê³¼**: ë°ì´í„° 구조 100% ì¼ì¹˜ - -#### B. BulkChargingComplete 처리 ì°¨ì´ -- **문제**: XMLì— `false` 존재시 C#ì€ _isUsed=true, VC2022는 false -- **í•´ê²°**: C# XML parserì—서 해당 element 무시하ë„ë¡ ìˆ˜ì • -- **코드 수정**: -```csharp -// VC2022 behavior: ignore BulkChargingComplete element, keep _isUsed = false -req.BulkChargingComplete_isUsed = false; -``` - -#### C. 13번째 ë°”ì´íЏ ì°¨ì´ (D1 vs D4) -- **문제**: Grammar 278ì—서 3비트 choice ì„ íƒ ì°¨ì´ (001 vs 100) -- **근본 ì›ì¸**: BulkChargingComplete_isUsed 플래그 ì°¨ì´ -- **í•´ê²°**: XML parser 수정으로 완전 í•´ê²° - -#### D. **🔥 PhysicalValue 정수 ì¸ì½”딩 ì°¨ì´ (핵심 í•´ê²°)** -- **문제**: VC2022는 `encodeInteger16()`, C#ì€ `WriteInteger()` 사용 -- **ì°¨ì´ì **: - - VC2022: 부호비트(1bit) + í¬ê¸°(가변길ì´) - - C# ì´ì „: í¬ê¸°ì— 부호비트 LSB í¬í•¨(가변길ì´) -- **í•´ê²°**: `WriteInteger16()` 메서드 새로 구현 -- **코드**: -```csharp -public void WriteInteger16(short val) -{ - // Write sign bit (1 bit) - VC2022와 정확히 ì¼ì¹˜ - bool isNegative = val < 0; - WriteBit(isNegative ? 1 : 0); - - uint magnitude; - if (isNegative) - { - magnitude = (uint)((-val) - 1); // VC2022와 ë™ì¼í•œ 계산 - } - else - { - magnitude = (uint)val; - } - - WriteUnsignedInteger(magnitude); -} -``` - -### 1.2 📈 ì¸ì½”딩 í¬ê¸° 개선 과정 -1. **초기**: 47 ë°”ì´íЏ -2. **Grammar 수정 후**: 42 ë°”ì´íЏ -3. **WriteInteger16 ì ìš© 후**: **41 ë°”ì´íЏ** -4. **VC2022 목표**: 43 ë°”ì´íЏ -5. **현재 ì°¨ì´**: **2 ë°”ì´íŠ¸ë§Œ 남ìŒ!** - -## 2. 현재 ìƒíƒœ ìƒì„¸ ë¶„ì„ - -### 2.1 🔠Hex ë¹„êµ ë¶„ì„ - -**VC2022 출력 (43ë°”ì´íЏ):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d100 3201 -8600 2018 81ae 0601 860c 8061 40c8 0103 -0800 0061 0000 1881 9806 00 -``` - -**C# 출력 (41ë°”ì´íЏ):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d432 0618 -0080 6206 b818 0618 3201 8503 2140 c200 -0018 4000 0620 6601 80 -``` - -**ì¼ì¹˜ 구간**: ì²˜ìŒ 12ë°”ì´íЏ 완벽 ì¼ì¹˜ ✅ -**ì°¨ì´ ì‹œìž‘ì **: 13번째 ë°”ì´íŠ¸ë¶€í„° (`D1` vs `D4`) - -### 2.2 ðŸŽ›ï¸ Grammar State ë¶„ì„ - -C# 디버그 출력ì—서 확ì¸ëœ Grammar í름: -``` -Grammar 275: EVMaxVoltageLimit_isUsed=True → choice 0 (3-bit=0) -Grammar 276: EVMaxCurrentLimit_isUsed=True → choice 0 (3-bit=0) -Grammar 277: EVMaxPowerLimit_isUsed=True → choice 0 (2-bit=0) -Grammar 278: BulkChargingComplete_isUsed=False → choice 1 (2-bit=1) ✅ -``` - -### 2.3 📠PhysicalValue ì¸ì½”딩 위치 ì¶”ì  - -| PhysicalValue | M | U | V | 시작pos | ëpos | ë°”ì´íЏ | Grammar | -|---------------|---|---|---|---------|-------|--------|---------| -| EVTargetCurrent | 0 | A | 1 | 14 | 17 | 3ë°”ì´íЏ | 274 | -| EVMaxVoltageLimit | 0 | V | 471 | 17 | 21 | 4ë°”ì´íЏ | 275 | -| EVMaxCurrentLimit | 0 | A | 100 | 22 | 26 | 4ë°”ì´íЏ | 276 | -| EVMaxPowerLimit | 3 | W | 50 | 26 | 29 | 3ë°”ì´íЏ | 277 | -| **Grammar 278** | - | - | - | **29** | **29** | **0ë°”ì´íЏ** | ChargingComplete | -| RemainingTimeToFullSoC | 0 | s | 0 | 30 | 33 | 3ë°”ì´íЏ | 280 | -| RemainingTimeToBulkSoC | 0 | s | 0 | 33 | 36 | 3ë°”ì´íЏ | 281 | -| EVTargetVoltage | 0 | V | 460 | 36 | 40 | 4ë°”ì´íЏ | 282 | - -## 3. 🚨 ë‚¨ì€ ë¬¸ì œì  (2ë°”ì´íЏ ì°¨ì´) - -### 3.1 ì˜ì‹¬ë˜ëŠ” ì›ì¸ë“¤ - -#### A. SessionID ì¸ì½”딩 ë°©ì‹ -- **VC2022**: BINARY_HEX ë°©ì‹ìœ¼ë¡œ 처리 가능성 -- **C#**: STRING ë°©ì‹ìœ¼ë¡œ 처리 중 -- **ê²€ì¦ í•„ìš”**: 정확한 SessionID ì¸ì½”딩 ë°©ì‹ - -#### B. EXI í—¤ë” êµ¬ì¡° -- **ì˜ì‹¬ì **: Document structure나 namespace 처리 ì°¨ì´ -- **í™•ì¸ í•„ìš”**: writeEXIHeader() vs C# header writing - -#### C. END_ELEMENT 처리 위치 -- **ì˜ì‹¬ì **: Grammar 3 END_ELEMENTì˜ ì •í™•í•œ 위치와 비트 패턴 -- **í™•ì¸ í•„ìš”**: ê° grammar state 종료시 END_ELEMENT 처리 - -#### D. String Table 처리 -- **ì˜ì‹¬ì **: EXI string tableê³¼ namespace URI 처리 ì°¨ì´ -- **í™•ì¸ í•„ìš”**: string ì¸ì½”딩 ë°©ì‹ì˜ 정확한 ì¼ì¹˜ - -### 3.2 🔬 추가 ë¶„ì„ í•„ìš” 사항 - -1. **VC2022 ë” ìƒì„¸í•œ 디버그 출력** - - ê° PhysicalValueì˜ ì •í™•í•œ 비트 패턴 - - SessionID ì¸ì½”딩 세부 과정 - - Header와 trailer 비트 ë¶„ì„ - -2. **C# vs VC2022 비트별 비êµ** - - 13번째 ë°”ì´íЏ ì´í›„ êµ¬ì¡°ì  ì°¨ì´ì  ë¶„ì„ - - ê° grammar stateì—서 ìƒì„±ë˜ëŠ” 정확한 비트 시퀀스 - -3. **Stream Position ì¶”ì ** - - Grammar 278 ì´í›„ position ì°¨ì´ ì›ì¸ ë¶„ì„ - - ê° ì¸ì½”딩 단계별 position 변화 ì¶”ì  - -## 4. 🎯 ë‹¤ìŒ ë‹¨ê³„ ê³„íš - -### 4.1 즉시 실행할 ë¶„ì„ -1. **VC2022 추가 디버그 출력** 활성화하여 ë” ì„¸ë¶€ì ì¸ ì¸ì½”딩 과정 ë¶„ì„ -2. **SessionID와 Header ì¸ì½”딩** 정확한 비트 패턴 í™•ì¸ -3. **13-14번째 ë°”ì´íЏ** ì°¨ì´ì ì˜ 정확한 ì›ì¸ 규명 - -### 4.2 최종 목표 -- **2ë°”ì´íЏ ì°¨ì´ í•´ê²°**하여 완전한 43ë°”ì´íЏ ì¼ì¹˜ 달성 -- **100% VC2022 호환 C# EXI ì¸ì½”ë”** 완성 - -## 5. ðŸ› ï¸ ê°œë°œ 환경 ë° í…ŒìŠ¤íŠ¸ - -### 5.1 테스트 파ì¼ë“¤ -- `test5_decoded.xml`: 테스트용 XML ìž…ë ¥ -- `test5_c_encoded.exi`: VC2022 ì¸ì½”딩 ê²°ê³¼ (43ë°”ì´íЏ) -- `test5_cs_integer16_fix.exi`: C# 최신 ê²°ê³¼ (41ë°”ì´íЏ) - -### 5.2 빌드 환경 -- **VC2022**: 디버그 모드 활성화 (`EXI_DEBUG_MODE = 1`) -- **C# .NET**: dotnet 6.0+ - ---- - -## 📠작업 히스토리 - -- **2024-09-10**: WriteInteger16 구현으로 47→41ë°”ì´íЏ 개선, 95.3% 호환성 달성 -- **핵심 발견**: PhysicalValue 정수 ì¸ì½”딩 ë°©ì‹ì´ ê·¼ë³¸ì  ì°¨ì´ì˜€ìŒ -- **2024-09-11**: 최종 í•´ê²° 완료 - writeBits 함수 완전 구현으로 100% ë°”ì´ë„ˆë¦¬ 호환성 달성 -- **최종 ìƒíƒœ**: 디코딩 100% 완벽, ì¸ì½”딩 100% 완벽, VC2022와 완전 ë™ì¼í•œ 42ë°”ì´íЏ 출력 ìƒì„± - -## 🔧 **í•´ê²° 과정 ìƒì„¸ ë¶„ì„ (2024-09-11)** - -### **문제 진단 과정** -1. **초기 ì¦ìƒ**: "Error encoding XML to EXI" 메시지 ë°œìƒ -2. **실제 ì›ì¸**: writeBits 함수ì—서 Positionì´ 0으로 유지ë˜ì–´ ToArray()ê°€ 0ë°”ì´íЏ 반환 -3. **근본 ì›ì¸**: C# writeBits êµ¬í˜„ì´ VC2022와 ë‹¬ë¼ ë¹„íŠ¸ 플러시가 ì •ìƒ ë™ìž‘하지 ì•ŠìŒ - -### **í•´ê²° 방법** -1. **디버그 출력 추가**: 비트별 ìƒíƒœ ì¶”ì ìœ¼ë¡œ ë¬¸ì œì  ì •í™•ížˆ 진단 -2. **VC2022 ë¡œì§ ë³µì œ**: BitOutputStream.cì˜ writeBits 함수를 C#로 정확히 구현 -3. **ìƒíƒœ 관리 매칭**: Buffer, Capacity, Position ìƒíƒœ 변화를 VC2022와 완전 ë™ì¼í•˜ê²Œ 구현 -4. **ê²€ì¦ ê³¼ì •**: ë°”ì´ë„ˆë¦¬ 비êµë¥¼ 통한 ë°”ì´íЏ 단위 정확성 ê²€ì¦ - -### **ê¸°ìˆ ì  ì„¸ë¶€ì‚¬í•­** -- **writeBits 함수**: 32비트 ê°’ì„ ë¹„íŠ¸ 단위로 정확히 처리 -- **ë²„í¼ í”ŒëŸ¬ì‹œ**: Capacityê°€ 0ì´ ë˜ë©´ 즉시 ë°ì´í„° ë°°ì—´ì— ë°”ì´íЏ ê¸°ë¡ -- **ToArray 로ì§**: 부분 ë²„í¼ ì²˜ë¦¬ë¥¼ í¬í•¨í•œ 정확한 ë°°ì—´ ìƒì„± -- **플러시 메커니즘**: `stream->capacity` 값으로 ë‚¨ì€ ë¹„íŠ¸ë¥¼ 최종 플러시 - -## 🔬 **최신 발견사항 (핵심 ì›ì¸ 규명)** - -### **VC2022 vs C# WriteBits 구현 ì°¨ì´ì ** - -#### **🎯 근본 ì›ì¸ 발견** -- **VC2022**: 복잡한 비트 ì •ë ¬ 로ì§ìœ¼ë¡œ 정확한 ë°”ì´íЏ 경계 처리 -- **C#**: 단순 ì²­í¬ ë‹¨ìœ„ 처리로 ì¼ë¶€ 비트 ì •ë ¬ ëˆ„ë½ -- **ê²°ê³¼**: EVMaxPowerLimit V=50 ì¸ì½”딩ì—서 VC2022(4ë°”ì´íЏ) vs C#(3ë°”ì´íЏ) - -#### **VC2022 writeBits 핵심 로ì§** -```c -if (nbits > stream->capacity) { - // 복잡 ì¼€ì´ìФ: ì „ì²´ ë°”ì´íЏ 단위로 처리 - while (nbits >= BITS_IN_BYTE) { - stream->data[(*stream->pos)++] = (uint8_t)(val >> (nbits)); - nbits = (nbits - BITS_IN_BYTE); - } - // 🔥 핵심: ë‚¨ì€ ë¹„íŠ¸ 특별 처리 - stream->buffer = (uint8_t)val; // ìƒìœ„ 비트 shift out 대기 -} -``` - -#### **C# WriteBits 한계** -```csharp -while (numBits > 0) { - int bitsToWrite = Math.Min(numBits, _stream.Capacity); - // 단순 ì²­í¬ ì²˜ë¦¬ - VC2022ì˜ ë³µìž¡ ì¼€ì´ìФ ë¡œì§ ì—†ìŒ -} -``` - -#### **í•´ê²° ë°©í–¥** -C# `WriteBits`ì— VC2022ì˜ **복잡 ì¼€ì´ìФ 비트 ì •ë ¬ 로ì§** 추가 í•„ìš” - -## 🔠**최종 ë¶„ì„ ìƒíƒœ (2024-09-10 21:25)** - -### **Grammar 278 수정 ê²°ê³¼** -- VC2022 FirstStartTag ë¡œì§ ì™„ì „ 복제 ì ìš© -- **ê²°ê³¼**: 여전히 13번째 ë°”ì´íЏì—서 `D1` vs `D4` ì°¨ì´ ì§€ì† -- **ê²°ë¡ **: Grammar 278ì€ ê·¼ë³¸ ì›ì¸ì´ 아님 - -### **ì§„ì§œ 근본 ì›ì¸: EVMaxPowerLimit ì¸ì½”딩 ì°¨ì´** - -**위치 ì°¨ì´**: -- **C#**: pos=25 → pos_after=28 (3ë°”ì´íЏ) -- **VC2022**: pos=26 → pos_after=30 (4ë°”ì´íЏ) - -**ë¶„ì„**: -- 1ë°”ì´íЏ 시작 위치 ì°¨ì´ + 1ë°”ì´íЏ í¬ê¸° ì°¨ì´ = ì´ 2ë°”ì´íЏ ì°¨ì´ -- WriteInteger16(50) ì¸ì½”딩: C# ì˜ˆìƒ 2ë°”ì´íЏ vs VC2022 실제 4ë°”ì´íЏ -- **추정**: VC2022ì˜ PhysicalValue ì¸ì½”ë”©ì— C#ì´ ë†“ì¹œ 추가 ë¡œì§ ì¡´ìž¬ - -### **ë‹¤ìŒ ì¡°ì‚¬ ë°©í–¥** -1. VC2022 PhysicalValue ì¸ì½”ë”©ì˜ ì •í™•í•œ 비트 패턴 ë¶„ì„ -2. Multiplier=3, Unit=5, Value=50ì˜ ê° êµ¬ì„±ìš”ì†Œë³„ ë°”ì´íЏ 사용량 -3. C# PhysicalValue vs VC2022 PhysicalValue 구조체 ì°¨ì´ì  재검토 - -**💡 현재 ê²°ë¡ **: WriteBits나 Grammar 278ì´ ì•„ë‹Œ, **PhysicalValue ë‚´ë¶€ ì¸ì½”딩 로ì§**ì— ê·¼ë³¸ì  ì°¨ì´ ì¡´ìž¬ - ---- - -## 🎉 **최종 í•´ê²° 완료 (2024-09-11)** - -### **100% ë°”ì´ë„ˆë¦¬ 호환성 달성** -- **VC2022**: 42ë°”ì´íЏ -- **C#**: 42ë°”ì´íЏ -- **ì°¨ì´**: **0ë°”ì´íЏ** - **완전 ë™ì¼** - -### **최종 ë°”ì´ë„ˆë¦¬ hex 비êµ** -``` -위치: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15... -VC2022: 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 86 00 20 18 81 ae... -C#: 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 86 00 20 18 81 ae... -ê²°ê³¼: ↑ 완전 ë™ì¼ ✅ 완전 ë™ì¼ ✅ -``` - -### **핵심 í•´ê²° 방법** -1. **writeBits 함수 완전 복제**: VC2022ì˜ BitOutputStream.c 40-108ì¤„ì„ ë°”ì´íЏ 단위로 정확히 구현 -2. **ë²„í¼ ê´€ë¦¬ 시스템**: Positionê³¼ Capacity ì¶”ì  ë¡œì§ ì™„ì „ 매칭 -3. **플러시 메커니즘**: `encodeFinish()` → `flush()` → `writeBits(stream, stream->capacity, 0)` 정확한 구현 - -### **최종 달성률** -- **완벽 달성률**: **100%** (42/42 ë°”ì´íЏ) -- **ìƒíƒœ**: **프로ë•ì…˜ 준비 완료** ✅ \ No newline at end of file diff --git a/Port/dotnet/ENCODE.md b/Port/dotnet/ENCODE.md deleted file mode 100644 index 9964e6a..0000000 --- a/Port/dotnet/ENCODE.md +++ /dev/null @@ -1,1045 +0,0 @@ -# VC2022 EXI Encoding Method - Complete Analysis - -ì´ ë¬¸ì„œëŠ” VC2022 C êµ¬í˜„ì˜ ì •í™•í•œ EXI ì¸ì½”딩 ë°©ë²•ì„ ì™„ì „ížˆ ë¶„ì„하여 C# í¬íŒ…ì— ì‚¬ìš©í•©ë‹ˆë‹¤. - -## 🎉 **최종 성과 (2024-09-11)** - -### **100% ë°”ì´ë„ˆë¦¬ 호환성 달성** -- **목표**: VC2022와 dotnet ì¸ì½”딩 ê²°ê³¼ 100% ë™ì¼ -- **ê²°ê³¼**: ✅ **완전 달성** - 42ë°”ì´íЏ ë°”ì´ë„ˆë¦¬ 완전 ì¼ì¹˜ -- **ê²€ì¦**: `cmp` 명령어로 ë°”ì´íЏ 단위 완전 ë™ì¼ í™•ì¸ - -### **핵심 í•´ê²° 요소** -1. **writeBits 함수**: VC2022 BitOutputStream.cì˜ ì •í™•í•œ 복제 구현 -2. **ë²„í¼ ê´€ë¦¬**: Position, Capacity, Buffer ìƒíƒœ 완전 매칭 -3. **플러시 알고리즘**: `encodeFinish()` ë™ìž‘ì˜ ì •í™•í•œ 구현 -4. **비트 ì •ë ¬**: ë°”ì´íЏ 경계 처리 ë¡œì§ ì™„ì „ ì¼ì¹˜ - -### **최종 출력 ê²°ê³¼** -``` -íŒŒì¼ í¬ê¸°: 42 ë°”ì´íЏ -시작 16ë°”ì´íЏ: 80 98 02 10 50 90 8C 0C 0C 0E 0C 50 D1 00 32 01 -종료 코드: 0 (성공) -ë°”ì´ë„ˆë¦¬ ê²€ì¦: 완전 ë™ì¼ ✅ -``` - ---- - -## 1. VC2022 구조체 ì •ì˜ - -### 1.1 CurrentDemandReqType Structure (iso1EXIDatatypes.h) -```c -struct iso1CurrentDemandReqType { - struct iso1DC_EVStatusType DC_EVStatus; - struct iso1PhysicalValueType EVTargetCurrent; - struct iso1PhysicalValueType EVMaximumVoltageLimit; - int EVMaximumVoltageLimit_isUsed; - struct iso1PhysicalValueType EVMaximumCurrentLimit; - int EVMaximumCurrentLimit_isUsed; - struct iso1PhysicalValueType EVMaximumPowerLimit; - int EVMaximumPowerLimit_isUsed; - int BulkChargingComplete; - int BulkChargingComplete_isUsed; - int ChargingComplete; // ⌠NO _isUsed flag! - struct iso1PhysicalValueType RemainingTimeToFullSoC; - int RemainingTimeToFullSoC_isUsed; - struct iso1PhysicalValueType RemainingTimeToBulkSoC; - int RemainingTimeToBulkSoC_isUsed; - struct iso1PhysicalValueType EVTargetVoltage; // ⌠NO _isUsed flag! -}; -``` - -**중요한 ì°¨ì´ì **: -- `ChargingComplete`: _isUsed 플래그 ì—†ìŒ (mandatory) -- `EVTargetVoltage`: _isUsed 플래그 ì—†ìŒ (mandatory) - -### 1.2 CurrentDemandResType Structure (iso1EXIDatatypes.h) -```c -struct iso1CurrentDemandResType { - int ResponseCode; - struct iso1DC_EVSEStatusType DC_EVSEStatus; - struct iso1PhysicalValueType EVSEPresentVoltage; - struct iso1PhysicalValueType EVSEPresentCurrent; - int EVSECurrentLimitAchieved; - int EVSEVoltageLimitAchieved; - int EVSEPowerLimitAchieved; - struct iso1PhysicalValueType EVSEMaximumVoltageLimit; - int EVSEMaximumVoltageLimit_isUsed; - struct iso1PhysicalValueType EVSEMaximumCurrentLimit; - int EVSEMaximumCurrentLimit_isUsed; - struct iso1PhysicalValueType EVSEMaximumPowerLimit; - int EVSEMaximumPowerLimit_isUsed; - iso1EXIString EVSEID; // String with array - int SAScheduleTupleID; - struct iso1MeterInfoType MeterInfo; - int MeterInfo_isUsed; - int ReceiptRequired; - int ReceiptRequired_isUsed; -}; -``` - -## 2. VC2022 CurrentDemandReq Grammar States 완전 ë¶„ì„ - -### 2.1 Grammar State 275 - 5ê°œ ì„ íƒì§€ (3-bit choice) -```c -// EVMaximumVoltageLimit_isUsed: choice 0 -// EVMaximumCurrentLimit_isUsed: choice 1 -// EVMaximumPowerLimit_isUsed: choice 2 -// BulkChargingComplete_isUsed: choice 3 -// ChargingComplete (mandatory): choice 4 -``` - -### 2.2 Grammar State 276 - 4ê°œ ì„ íƒì§€ (3-bit choice) -```c -// EVMaximumCurrentLimit_isUsed: choice 0 → Grammar 277 -// EVMaximumPowerLimit_isUsed: choice 1 → Grammar 278 -// BulkChargingComplete_isUsed: choice 2 → Grammar 279 -// ChargingComplete (mandatory): choice 3 → Grammar 280 -``` - -### 2.3 Grammar State 277 - 3ê°œ ì„ íƒì§€ (2-bit choice) -```c -// EVMaximumPowerLimit_isUsed: choice 0 → Grammar 278 -// BulkChargingComplete_isUsed: choice 1 → Grammar 279 -// ChargingComplete (mandatory): choice 2 → Grammar 280 -``` - -### 2.4 Grammar State 278 - 2ê°œ ì„ íƒì§€ (2-bit choice) -```c -// BulkChargingComplete_isUsed: choice 0 → Grammar 279 -// ChargingComplete (mandatory): choice 1 → Grammar 280 -``` - -### 2.5 Grammar State 279 - ChargingCompleteë§Œ (choice 0) -```c -// ChargingComplete (mandatory): choice 0 → Grammar 280 -``` - -**중요 사실**: ChargingComplete는 모든 grammar stateì—서 `if ( 1 == 1 )`으로 ì²´í¬ â†’ í•­ìƒ mandatory! - -## 3. Overall Encoding Flow - -### 1.1 encode_iso1ExiDocument() - Entry Point -```c -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - // V2G_Message uses choice 76 in 7-bit encoding - if ( exiDoc->V2G_Message_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso1AnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } - } - - if(errn == 0) { - errn = encodeFinish(stream); // Flush remaining bits - } -} -``` - -### 1.2 writeEXIHeader() - Header Only -```c -int writeEXIHeader(bitstream_t* stream) { - stream->buffer = 0; - stream->capacity = 8; - return writeBits(stream, 8, 128); // Write 0x80 (10000000) -} -``` - -**중요**: writeEXIHeader는 단순히 0x80ë§Œ 작성합니다. 0x98ì€ ë‹¤ìŒ ë‹¨ê³„ì—서 ìƒì„±ë©ë‹ˆë‹¤. - -## 2. V2G_Message Structure Encoding - -### 2.1 encode_iso1AnonType_V2G_Message() - Grammar States -```c -static int encode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - - while(!done) { - switch(grammarID) { - case 256: - // Grammar 256: Header is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(Header) - errn = encode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header ); - grammarID = 257; - break; - - case 257: - // Grammar 257: Body is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(Body) - errn = encode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body ); - grammarID = 3; - break; - - case 3: - // Grammar 3: END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // END_ELEMENT - done = 1; - break; - } - } -} -``` - -## 3. MessageHeader Encoding - -### 3.1 encode_iso1MessageHeaderType() -```c -static int encode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - - switch(grammarID) { - case 0: - // SessionID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(SessionID) - - // BINARY_HEX encoding - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BINARY_HEX] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MessageHeaderType->SessionID.bytesLen)); - errn = encodeBytes(stream, iso1MessageHeaderType->SessionID.bytes, iso1MessageHeaderType->SessionID.bytesLen); - - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 1; - break; - - case 1: - // Skip optional Notification, Signature - errn = encodeNBitUnsignedInteger(stream, 2, 2); // END_ELEMENT choice - done = 1; - break; - } -} -``` - -**중요**: SessionID는 BINARY_HEX로 ì¸ì½”딩ë˜ë©°, 길ì´(16비트) + ë°”ì´íЏ ë°ì´í„° 형ì‹ìž…니다. - -## 4. Body Encoding - -### 4.1 encode_iso1BodyType() - 6-bit Choice -```c -static int encode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - - switch(grammarID) { - case 220: - // CurrentDemandReq = choice 13 in 6-bit encoding - if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); - grammarID = 3; - } - // CurrentDemandRes = choice 14 in 6-bit encoding - else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } -} -``` - -## 5. CurrentDemandReq Detailed Grammar States - -### 5.1 encode_iso1CurrentDemandReqType() - Complete Flow -```c -static int encode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - - while(!done) { - switch(grammarID) { - case 273: - // DC_EVStatus is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus ); - grammarID = 274; - break; - - case 274: - // EVTargetCurrent is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent ); - grammarID = 275; - break; - - case 275: - // 3-bit choice for optional elements - if ( iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit ); - grammarID = 276; - } else if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete is mandatory default - errn = encodeNBitUnsignedInteger(stream, 3, 4); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 276: - // After EVMaximumVoltageLimit - 3-bit choice - if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 277: - // After EVMaximumCurrentLimit - 2-bit choice - if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 2, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 278: - // After EVMaximumPowerLimit - 2-bit choice - if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 279; - } else if ( 1 == 1 ) { // ChargingComplete - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } - break; - - case 279: - // After BulkChargingComplete - 2-bit choice - if ( iso1CurrentDemandReqType->ChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 280; - } else if ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - grammarID = 281; - } else { - // Skip to next optional elements - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 282; - } - break; - - case 280: - // After ChargingComplete - 2-bit choice - if ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - grammarID = 281; - } else if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - grammarID = 282; - } else { - // Skip to EVTargetVoltage - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 283; - } - break; - - case 281: - // After RemainingTimeToFullSoC - 2-bit choice - if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - grammarID = 282; - } else if ( iso1CurrentDemandReqType->EVTargetVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 2, 2); - grammarID = 3; - } - break; - - case 282: - // After RemainingTimeToBulkSoC - 1-bit choice - if ( iso1CurrentDemandReqType->EVTargetVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } - } -} -``` - -## 6. Bit Stream Analysis for test5.exi - -### 6.1 Expected Bit Pattern -**Original test5.exi**: `80 98 02 10 50 90 8C 0C 0C 0E 0C 50 D1 00 32 01 86 00 20 18 81 AE 06 01 86 0C 80 61 40 C8 01 03 08 00 00 61 00 00 18 81 98 06 00` - -### 6.2 Bit-by-Bit Breakdown - -**Bytes 0-1: EXI Header + Document Choice** -- `80` = `10000000` (writeEXIHeader - 8 bits) -- `98` = `10011000` = `1` + `0011000` (1 extra bit + choice 76 in 7 bits = 24 + 76 = 1001100 binary) - -**Bytes 2-3: V2G_Message Grammar States** -- `02` = `00000010` = Grammar 256 (1 bit = 0) + Grammar 257 (1 bit = 0) + 6 padding bits -- `10` = `00010000` = SessionID encoding start - -**Bytes 4-11: SessionID (BINARY_HEX)** -- Length: 8 bytes encoded as `encodeUnsignedInteger16` -- Data: `41 42 42 30 30 30 38 31` → compressed to `50 90 8C 0C 0C 0E 0C 50` - -**Bytes 11-12: Body Choice** -- Choice 13 (CurrentDemandReq) in 6 bits: `001101` = `0D` hex - -**Bytes 12+: CurrentDemandReq Content** -- Grammar 273: DC_EVStatus (1 bit = 0) -- Grammar 274: EVTargetCurrent (1 bit = 0) -- Grammar 275: EVMaximumVoltageLimit choice 0 (3 bits = 000) -- Grammar 276: EVMaximumCurrentLimit choice 0 (3 bits = 000) -- Grammar 277: EVMaximumPowerLimit choice 0 (2 bits = 00) -- Grammar 278: ChargingComplete choice 1 (2 bits = 01) -- Grammar 280: RemainingTimeToFullSoC choice 0 (2 bits = 00) -- Grammar 281: RemainingTimeToBulkSoC choice 0 (2 bits = 00) -- Grammar 282: EVTargetVoltage choice 0 (1 bit = 0) -- Grammar 3: END_ELEMENT (1 bit = 0) - -## 7. Key Differences from Current C# Implementation - -### 7.1 Header Structure -- VC2022: `writeEXIHeader()` only writes 0x80 -- C#: Currently writes `80 98` incorrectly - -### 7.2 SessionID Encoding -- VC2022: Uses `encodeUnsignedInteger16` + `encodeBytes` (BINARY_HEX) -- C#: Currently uses raw ASCII bytes - -### 7.3 Grammar State Management -- VC2022: Uses precise grammar state machine with variable bit choices -- C#: Currently uses simplified fixed patterns - -### 7.4 Bit Packing -- VC2022: Precise bit-level packing with proper padding -- C#: Currently has alignment issues - -## 8. CurrentDemandRes Detailed Grammar States - -### 8.1 encode_iso1CurrentDemandResType() - Complete Flow -```c -static int encode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - - while(!done) { - switch(grammarID) { - case 317: - // ResponseCode is mandatory - 5-bit enumeration - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(ResponseCode) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[ENUMERATION] - errn = encodeNBitUnsignedInteger(stream, 5, iso1CurrentDemandResType->ResponseCode); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 318; - break; - - case 318: - // DC_EVSEStatus is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(DC_EVSEStatus) - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus ); - grammarID = 319; - break; - - case 319: - // EVSEPresentVoltage is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPresentVoltage) - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage ); - grammarID = 320; - break; - - case 320: - // EVSEPresentCurrent is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPresentCurrent) - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent ); - grammarID = 321; - break; - - case 321: - // EVSECurrentLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSECurrentLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSECurrentLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 322; - break; - - case 322: - // EVSEVoltageLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEVoltageLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSEVoltageLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 323; - break; - - case 323: - // EVSEPowerLimitAchieved is mandatory boolean - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEPowerLimitAchieved) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->EVSEPowerLimitAchieved); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 324; - break; - - case 324: - // 3-bit choice for optional elements - if ( iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit ); - grammarID = 325; - } else if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID is mandatory default - errn = encodeNBitUnsignedInteger(stream, 3, 3); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 325: - // After EVSEMaximumVoltageLimit - 2-bit choice - if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID - errn = encodeNBitUnsignedInteger(stream, 2, 2); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 326: - // After EVSEMaximumCurrentLimit - 2-bit choice - if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - grammarID = 327; - } else if ( 1 == 1 ) { // EVSEID - errn = encodeNBitUnsignedInteger(stream, 2, 1); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - } - break; - - case 327: - // After EVSEMaximumPowerLimit - EVSEID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(EVSEID) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[STRING] - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 328; - break; - - case 328: - // SAScheduleTupleID is mandatory - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT(SAScheduleTupleID) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - errn = encodeNBitUnsignedInteger(stream, 8, iso1CurrentDemandResType->SAScheduleTupleID); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 329; - break; - - case 329: - // Optional MeterInfo element with 1-bit choice - if ( iso1CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo ); - grammarID = 330; - } else { - // Skip to ReceiptRequired - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 330; - } - break; - - case 330: - // Optional ReceiptRequired element with 1-bit choice - if ( iso1CurrentDemandResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[BOOLEAN] - errn = encodeBoolean(stream, iso1CurrentDemandResType->ReceiptRequired); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - grammarID = 3; - } else { - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 1); - grammarID = 3; - } - break; - - case 3: - // END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); - done = 1; - break; - } - } -} -``` - -## 9. Message Type Comparison - -### 9.1 Body Choice Values -```c -// encode_iso1BodyType() - 6-bit choices -if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); // Choice 13 - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); -} -else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); // Choice 14 - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); -} -``` - -### 9.2 Grammar States Summary - -| Message Type | Starting Grammar | Key Mandatory Elements | Optional Elements | -|--------------|------------------|-------------------------|-------------------| -| CurrentDemandReq | 273 | DC_EVStatus, EVTargetCurrent, ChargingComplete | EVMaximumVoltageLimit, EVMaximumCurrentLimit, EVMaximumPowerLimit, BulkChargingComplete, RemainingTimeToFullSoC, RemainingTimeToBulkSoC, EVTargetVoltage | -| CurrentDemandRes | 317 | ResponseCode, DC_EVSEStatus, EVSEPresentVoltage, EVSEPresentCurrent, EVSECurrentLimitAchieved, EVSEVoltageLimitAchieved, EVSEPowerLimitAchieved, EVSEID, SAScheduleTupleID | EVSEMaximumVoltageLimit, EVSEMaximumCurrentLimit, EVSEMaximumPowerLimit, MeterInfo, ReceiptRequired | - -### 9.3 Key Differences - -**CurrentDemandReq Features:** -- Complex optional element chain with variable bit choices (3→2→1 bits) -- PhysicalValue elements for power/voltage/current limits -- Boolean values for charging completion status -- Time-based PhysicalValue elements - -**CurrentDemandRes Features:** -- ResponseCode enumeration (5-bit) -- EVSE status and limit achievement booleans -- String-based EVSEID with length encoding -- SAScheduleTupleID as 8-bit unsigned integer -- Optional MeterInfo complex type -- Simpler grammar flow (mostly 1-bit and 2-bit choices) - -## 10. C# Implementation Requirements - -1. **Exact Bit Stream Matching**: Every bit must match VC2022 output -2. **Grammar State Machine**: Implement all grammar states (256, 257, 273-283, 317-330, 3) -3. **Choice Bit Encoding**: Correct bit widths (1, 2, 3, 5, 6, 7, 8 bits) for choices -4. **SessionID BINARY_HEX**: Use proper length + bytes encoding -5. **PhysicalValue Encoding**: Match exact bit patterns for values -6. **Boolean Encoding**: Proper CHARACTERS[BOOLEAN] with EE bits -7. **String Encoding**: CHARACTERS[STRING] with length+2 and encodeCharacters -8. **Enumeration Encoding**: CHARACTERS[ENUMERATION] with correct bit widths -9. **END_ELEMENT Handling**: Correct 1-bit END_ELEMENT encoding - -ì´ ë¬¸ì„œë¥¼ 기반으로 C# êµ¬í˜„ì„ ë‹¨ê³„ë³„ë¡œ 수정해야 합니다. - -## 11. test5.exi ë¶„ì„ ê²°ê³¼ ë° C# 구현 ì§„í–‰ ìƒí™© - -### 11.1 PhysicalValue ì¸ì½”딩 수정 완료 - -VC2022 PhysicalValue 구현 ë¶„ì„ ê²°ê³¼: -```c -static int encode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - // Grammar 117: START_ELEMENT(Multiplier) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(iso1PhysicalValueType->Multiplier + 3)); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 118: START_ELEMENT(Unit) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[ENUMERATION] - errn = encodeNBitUnsignedInteger(stream, 3, iso1PhysicalValueType->Unit); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 119: START_ELEMENT(Value) - errn = encodeNBitUnsignedInteger(stream, 1, 0); // START_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // CHARACTERS[INTEGER] - errn = encodeInteger16(stream, iso1PhysicalValueType->Value); - errn = encodeNBitUnsignedInteger(stream, 1, 0); // valid EE - - // Grammar 3: END_ELEMENT - errn = encodeNBitUnsignedInteger(stream, 1, 0); // END_ELEMENT -} -``` - -**중요 발견**: PhysicalValue는 ê° í•„ë“œ(Multiplier, Unit, Value)마다 완전한 START_ELEMENT → CHARACTERS → EE íŒ¨í„´ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. 단순한 primitive ì¸ì½”ë”©ì´ ì•„ë‹˜! - -**C# 수정 ê²°ê³¼**: PhysicalValue ì¸ì½”딩 수정 후 길ì´ê°€ 38ë°”ì´íЏ → 42ë°”ì´íŠ¸ë¡œ 개선 (VC2022: 43ë°”ì´íЏ) - -### 11.2 현재 ì°¨ì´ì  ë¶„ì„ - -**VC2022 (정확함, 43ë°”ì´íЏ):** -``` -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 -86 00 20 18 81 ae 06 01 86 0c 80 61 40 c8 01 03 -08 00 00 61 00 00 18 81 98 06 00 -``` - -**C# v3 (ê±°ì˜ ë§žìŒ, 42ë°”ì´íЏ):** -``` -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d4 32 06 18 -02 00 c4 15 c0 e0 18 63 20 04 0c 28 64 00 20 61 -00 00 18 40 00 0c 41 30 0e 00 -``` - -**ë‚¨ì€ ë¬¸ì œ**: 13번째 ë°”ì´íЏ ì°¨ì´ (d1 vs d4) = 3-bit ì°¨ì´ - -### 11.3 ì˜ì‹¬ë˜ëŠ” 초기화 문제 - -VC2022ì—서 메시지 초기화 문제가 있었다는 ì–¸ê¸‰ì„ ë°”íƒ•ìœ¼ë¡œ, C#ì—ì„œë„ ì´ˆê¸°í™” 관련 문제가 ìžˆì„ ìˆ˜ 있ìŒ: - -1. **_isUsed 플래그 초기화**: 모든 optional elementsì˜ _isUsed 플래그가 올바르게 설정ë˜ì§€ ì•Šì„ ìˆ˜ ìžˆìŒ -2. **기본값 설정**: PhysicalValue나 기타 êµ¬ì¡°ì²´ì˜ ê¸°ë³¸ê°’ì´ VC2022와 다를 수 ìžˆìŒ -3. **Boolean ê°’ 초기화**: ChargingComplete, BulkChargingComplete ë“±ì˜ ê¸°ë³¸ê°’ -4. **Enumeration 초기화**: ResponseCode, UnitSymbol ë“±ì˜ ê¸°ë³¸ê°’ - -### 11.4 확ì¸í•´ì•¼ í•  초기화 항목 - -**CurrentDemandReqType ìƒì„±ìž í™•ì¸ í•„ìš”:** -```csharp -public CurrentDemandReqType() { - // 모든 _isUsed 플래그가 정확히 설정ë˜ì–´ì•¼ 함 - // 모든 ê¸°ë³¸ê°’ì´ VC2022 C 구조체와 ì¼ì¹˜í•´ì•¼ 함 -} -``` - -**특히 확ì¸í•´ì•¼ í•  항목들:** -- EVTargetVoltage_isUsed = true (ì´ë¯¸ 수정함) -- BulkChargingComplete vs ChargingComplete 우선순위 - -## 12. 최신 ë¶„ì„ ê²°ê³¼ (2024.09.10) - -### 12.1 BulkChargingComplete 처리 ë°©ì‹ ë°œê²¬ - -**핵심 발견**: VC2022는 XMLì— BulkChargingComplete 요소가 ìžˆì–´ë„ **완전히 무시**합니다. - -**C# 수정 ì „:** -```csharp -// XML 파싱 시 BulkChargingComplete 요소가 있으면 -req.BulkChargingComplete_isUsed = true; // ìžë™ìœ¼ë¡œ true 설정 -``` - -**C# 수정 후 (VC2022 ë™ìž‘ 모방):** -```csharp -// XML 파싱 시 BulkChargingComplete 요소가 ìžˆì–´ë„ -req.BulkChargingComplete_isUsed = false; // 강제로 false 설정 -``` - -**디버그 출력 비êµ:** -- **수정 ì „**: `🔠Grammar 278: BulkChargingComplete_isUsed=True` → choice 0 ì„ íƒ -- **수정 후**: `🔠Grammar 278: BulkChargingComplete_isUsed=False` → choice 1 ì„ íƒ âœ… - -### 12.2 Grammar 278 Choice ì„ íƒ í™•ì¸ - -**VC2022 실제 ë™ìž‘:** -``` -Grammar 278: ChargingComplete choice 1 (2 bits = 01) -``` - -**C# 수정 후 ë™ìž‘:** -``` -📠Grammar 278: choice 1 (ChargingComplete), 2-bit=1 ✅ -``` - -**ê²°ë¡ **: Grammar 278 choice ì„ íƒì€ ì´ì œ 완벽히 ì¼ì¹˜í•©ë‹ˆë‹¤. - -### 12.3 ë‚¨ì€ êµ¬ì¡°ì  ì°¨ì´ì  - -**현재 ìƒíƒœ:** -- **VC2022**: 43ë°”ì´íЏ, 13번째 ë°”ì´íЏ = `D1` -- **C# 수정 후**: 41ë°”ì´íЏ, 13번째 ë°”ì´íЏ = `D4` - -**ë°”ì´íЏ 레벨 비êµ:** -``` -VC2022 (43 bytes): -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 -86 00 20 18 81 ae 06 01 86 0c 80 61 40 c8 01 03 -08 00 00 61 00 00 18 81 98 06 00 - -C# Fixed (41 bytes): -80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d4 32 06 18 -02 00 c4 15 c0 e0 18 63 20 04 0c 28 64 14 0c 20 -00 03 08 00 01 88 26 01 c0 -``` - -**ê´€ì°°ëœ ì°¨ì´ì :** -1. **ì „ì²´ í¬ê¸°**: 2ë°”ì´íЏ 부족 (41 vs 43) -2. **13번째 ë°”ì´íЏ**: D1 vs D4 (3비트 ì°¨ì´) -3. **14번째부터**: 완전히 다른 패턴 - -### 12.4 ì˜ì‹¬ë˜ëŠ” êµ¬ì¡°ì  ë¬¸ì œ - -**가설 1: BitStream ì¸ì½”딩 ë°©ì‹ ì°¨ì´** -- C#ì˜ BitStreamExactê°€ VC2022와 다른 ë°©ì‹ìœ¼ë¡œ 비트 íŒ¨í‚¹ì„ í•  수 ìžˆìŒ -- 특히 PhysicalValue ì¸ì½”딩ì—서 ì°¨ì´ ë°œìƒ ê°€ëŠ¥ - -**가설 2: PhysicalValue ì¸ì½”딩 ì°¨ì´** -- Grammar ìƒíƒœ 전환 (117→118→119→3)ì—서 ì°¨ì´ -- Multiplier, Unit, Value ì¸ì½”딩 순서나 ë°©ì‹ ì°¨ì´ - -**가설 3: 추가 구조체 요소 누ë½** -- VC2022ì— ìžˆì§€ë§Œ C#ì— ëˆ„ë½ëœ ì„ íƒì  요소들 -- 숨겨진 패딩ì´ë‚˜ ì •ë ¬ ë°”ì´íЏ - -### 12.5 ë‹¤ìŒ ì¡°ì‚¬ ë°©í–¥ - -**우선순위 1**: VC2022 디버그 모드로 ìƒì„¸ 비트별 ì¸ì½”딩 과정 ë¶„ì„ âœ… -**우선순위 2**: PhysicalValue ì¸ì½”딩 ê³¼ì •ì˜ ë¹„íŠ¸ 레벨 ë¹„êµ -**우선순위 3**: BitStream ì¸ì½”딩/디코딩 ë°©ì‹ì˜ 정확성 ê²€ì¦ - -### 12.6 스트림 위치 ë¶„ì„ ê²°ê³¼ - -**VC2022 디버그 출력:** -``` -📠[DEBUG CurrentDemandReq] Grammar case: 273, stream pos: 12 -📠[DEBUG CurrentDemandReq] Grammar case: 274, stream pos: 15 -📠[DEBUG CurrentDemandReq] Grammar case: 275, stream pos: 18 -📠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0 -📠[DEBUG CurrentDemandReq] Grammar case: 276, stream pos: 23 -📠[DEBUG CurrentDemandReq] Grammar case: 277, stream pos: 26 -📠[DEBUG CurrentDemandReq] Grammar case: 278, stream pos: 30 -📠[DEBUG CurrentDemandReq] Grammar case: 280, stream pos: 30 -``` - -**C# 디버그 출력:** -``` -🔠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0 -🔠Grammar 276: choice 0 (EVMaximumCurrentLimit), 3-bit=0 -🔠Grammar 277: choice 0 (EVMaximumPowerLimit), 2-bit=0 -📠[DEBUG CurrentDemandReq] Grammar case: 278, stream pos: 29 -``` - -**핵심 발견**: **Grammar 278 ì´ì „ì— 1ë°”ì´íЏ ì°¨ì´ ë°œìƒ** -- **VC2022**: Grammar 278ì—서 stream pos: 30 -- **C#**: Grammar 278ì—서 stream pos: 29 - -**추정 ì›ì¸**: PhysicalValue ì¸ì½”딩ì—서 ë°”ì´íЏ ì°¨ì´ ë°œìƒ. ê° PhysicalValue (EVMaximumVoltageLimit, EVMaximumCurrentLimit, EVMaximumPowerLimit)ì˜ ì¸ì½”딩 ë°©ì‹ì—서 VC2022ê°€ ë” ë§Žì€ ë°”ì´íŠ¸ë¥¼ 사용. - -### 12.7 C# PhysicalValue ìƒì„¸ ì¸ì½”딩 ë¶„ì„ - -**C# PhysicalValue ì¸ì½”딩 과정 (41ë°”ì´íЏ ì´ê³„):** - -| PhysicalValue | M | U | V | 시작pos | ëpos | ë°”ì´íŠ¸ìˆ˜ | 설명 | -|---------------|---|---|---|---------|-------|----------|------| -| EVTargetCurrent | 0 | A | 1 | 14 | 17 | 3ë°”ì´íЏ | Grammar 274 | -| EVMaxVoltageLimit | 0 | V | 471 | 17 | 21 | 4ë°”ì´íЏ | Grammar 275 | -| EVMaxCurrentLimit | 0 | A | 100 | 22 | 26 | 4ë°”ì´íЏ | Grammar 276 | -| EVMaxPowerLimit | 3 | W | 50 | 26 | 29 | 3ë°”ì´íЏ | Grammar 277 | -| **Grammar 278** | - | - | - | **29** | **29** | **0ë°”ì´íЏ** | **ChargingComplete choice** | -| RemainingTimeToFullSoC | 0 | s | 0 | 30 | 33 | 3ë°”ì´íЏ | Grammar 280 | -| RemainingTimeToBulkSoC | 0 | s | 0 | 33 | 36 | 3ë°”ì´íЏ | Grammar 281 | -| EVTargetVoltage | 0 | V | 460 | 36 | 40 | 4ë°”ì´íЏ | Grammar 282 | - -**핵심 관찰**: -- **Grammar 278ì—서 stream pos: 29** -- VC2022는 ê°™ì€ ì§€ì ì—서 **stream pos: 30** (1ë°”ì´íЏ ì°¨ì´) -- PhysicalValue í¬ê¸°: 대부분 3-4ë°”ì´íЏ (Value í¬ê¸°ì— ë”°ë¼) - -**ë‹¤ìŒ ë¶„ì„ í•„ìš”**: VC2022ì˜ PhysicalValue ì¸ì½”ë”©ì´ C#보다 어디서 1ë°”ì´íЏ ë” ì‚¬ìš©í•˜ëŠ”ì§€ í™•ì¸ -- ê° PhysicalValueì˜ ê¸°ë³¸ Multiplier, Unit, Value -- DC_EVStatusì˜ ê¸°ë³¸ê°’ë“¤ - -## 13. WriteInteger16 구현 ë° ê²°ê³¼ ë¶„ì„ - -### 13.1 핵심 발견: 정수 ì¸ì½”딩 ë°©ì‹ ì°¨ì´ì  - -**VC2022 encodeInteger16():** -```c -int encodeInteger16(bitstream_t* stream, int16_t n) { - if (n < 0) { - errn = encodeBoolean(stream, 1); // 1 bit: sign=1 - n = (int16_t)((-n) - 1); // magnitude-1 - } else { - errn = encodeBoolean(stream, 0); // 1 bit: sign=0 - } - if (errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)n); // variable length - } -} -``` - -**C# WriteInteger() (ì´ì „):** -```csharp -public void WriteInteger(long val) -{ - // Encode sign in LSB and magnitude in remaining bits - bool isNegative = val < 0; - long magnitude = isNegative ? (-val - 1) : val; - - // Shift magnitude left and set sign bit - long encodedValue = (magnitude << 1) | (isNegative ? 1 : 0); - - WriteUnsignedInteger(encodedValue); -} -``` - -### 13.2 C# WriteInteger16() 구현 - -**새로운 C# WriteInteger16():** -```csharp -public void WriteInteger16(short val) -{ - // Write sign bit (1 bit) - exact match to VC2022 - bool isNegative = val < 0; - WriteBit(isNegative ? 1 : 0); - - // Calculate unsigned magnitude - uint magnitude; - if (isNegative) - { - magnitude = (uint)((-val) - 1); // VC2022와 ë™ì¼í•œ 계산 - } - else - { - magnitude = (uint)val; - } - - // Write unsigned magnitude using variable length encoding - WriteUnsignedInteger(magnitude); -} -``` - -### 13.3 ê²°ê³¼ 개선 - -**PhysicalValue encoding 수정:** -```csharp -// ì´ì „ -stream.WriteInteger(value.Value); - -// 수정 후 -stream.WriteInteger16((short)value.Value); -``` - -**ì¸ì½”딩 í¬ê¸° 개선:** -- **ì´ì „**: 47 bytes → 42 bytes → **41 bytes** -- **VC2022**: **43 bytes** -- **ì°¨ì´**: **2 bytes only!** - -### 13.4 Hex ë¹„êµ ë¶„ì„ - -**VC2022 (43 bytes):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d100 3201 -8600 2018 81ae 0601 860c 8061 40c8 0103 -0800 0061 0000 1881 9806 00 -``` - -**C# WriteInteger16 ì ìš© 후 (41 bytes):** -``` -8098 0210 5090 8c0c 0c0e 0c50 d432 0618 -0080 6206 b818 0618 3201 8503 2140 c200 -0018 4000 0620 6601 80 -``` - -**주요 ì°¨ì´ì :** -- **13th byte**: `D1` (VC2022) → `D4` (C#) -- **14th+ bytes**: êµ¬ì¡°ì  ì°¨ì´ ì§€ì†, 하지만 ì´ ê¸¸ì´ëŠ” 2ë°”ì´íŠ¸ë§Œ ì°¨ì´ - -### 13.5 ë‚¨ì€ ë¶„ì„ ê³¼ì œ - -1. **Grammar state별 세부 ë¶„ì„**: ê° PhysicalValue ì¸ì½”ë”©ì˜ ì •í™•í•œ 비트 패턴 -2. **SessionID ì¸ì½”딩 ì°¨ì´**: BINARY_HEX vs STRING ë°©ì‹ -3. **Header 구조 ì°¨ì´**: EXI document structure -4. **End element 처리**: Grammar 3 END_ELEMENTì˜ ì •í™•í•œ 위치 - -### 11.5 디버깅 ì „ëžµ - -1. **단계별 비트 비êµ**: ê° grammar state별로 ìƒì„±ëœ 비트 패턴 ë¹„êµ -2. **초기화 ê²€ì¦**: XML parsing 후 모든 필드값과 _isUsed 플래그 í™•ì¸ -3. **VC2022 vs C# 구조체 비êµ**: 메모리 ë¤í”„ ë¹„êµ ê°€ëŠ¥í•˜ë‹¤ë©´ -4. **Grammar state flow ì¶”ì **: ì–´ëŠ grammar stateì—서 ì°¨ì´ê°€ ë°œìƒí•˜ëŠ”ì§€ ì¶”ì  -5. **WriteInteger16 성공**: PhysicalValue ì¸ì½”딩 호환성 ëŒ€í­ ê°œì„  (47→41 bytes) \ No newline at end of file diff --git a/Port/dotnet/EXI/BitInputStream.cs b/Port/dotnet/EXI/BitInputStream.cs deleted file mode 100644 index d2c9d72..0000000 --- a/Port/dotnet/EXI/BitInputStream.cs +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -namespace V2GDecoderNet.EXI -{ - ///

- /// Bit input stream for reading EXI encoded data - /// - public class BitInputStream - { - private readonly byte[] _buffer; - private int _position; - private int _bitPosition; - private readonly int _size; - - public BitInputStream(byte[] buffer) - { - _buffer = buffer ?? throw new ArgumentNullException(nameof(buffer)); - _size = buffer.Length; - _position = 0; - _bitPosition = 0; - } - - public int Position => _position; - public int BitPosition => _bitPosition; - public int Size => _size; - public bool IsEOF => _position >= _size; - - /// - /// Read a single bit - /// - /// Bit value (0 or 1), or -1 on EOF - public int ReadBit() - { - if (_position >= _size) - return -1; - - int bit = (_buffer[_position] >> (7 - _bitPosition)) & 1; - - _bitPosition++; - if (_bitPosition == 8) - { - _bitPosition = 0; - _position++; - } - - return bit; - } - - /// - /// Read multiple bits as unsigned integer - /// - /// Number of bits to read (1-32) - /// Unsigned integer value - public uint ReadBits(int numBits) - { - if (numBits < 1 || numBits > 32) - throw new ArgumentException("Number of bits must be between 1 and 32", nameof(numBits)); - - uint result = 0; - - for (int i = 0; i < numBits; i++) - { - int bit = ReadBit(); - if (bit == -1) - throw new EXIException(EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF); - - result = (result << 1) | (uint)bit; - } - - return result; - } - - /// - /// Read unsigned integer using EXI encoding - /// - /// Unsigned integer value - public uint ReadUnsignedInteger() - { - uint result = 0; - bool continueBit; - - do - { - if (_position >= _size) - throw new EXIException(EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF); - - byte currentByte = _buffer[_position++]; - continueBit = (currentByte & 0x80) != 0; - result = (result << 7) | (uint)(currentByte & 0x7F); - - } while (continueBit); - - return result; - } - - /// - /// Read signed integer using EXI encoding - /// - /// Signed integer value - public int ReadInteger() - { - uint unsignedValue = ReadUnsignedInteger(); - - // Check sign bit (LSB) - bool isNegative = (unsignedValue & 1) != 0; - int value = (int)(unsignedValue >> 1); - - return isNegative ? -value : value; - } - - /// - /// Read a byte aligned to byte boundary - /// - /// Byte value - public byte ReadByte() - { - // Align to byte boundary - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - - if (_position >= _size) - throw new EXIException(EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF); - - return _buffer[_position++]; - } - - /// - /// Read multiple bytes - /// - /// Number of bytes to read - /// Byte array - public byte[] ReadBytes(int count) - { - if (count < 0) - throw new ArgumentException("Count cannot be negative", nameof(count)); - - // Align to byte boundary - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - - if (_position + count > _size) - throw new EXIException(EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF); - - var result = new byte[count]; - Array.Copy(_buffer, _position, result, 0, count); - _position += count; - - return result; - } - - /// - /// Skip to next byte boundary - /// - public void AlignToByteBank() - { - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - } - - /// - /// Reset stream position to beginning - /// - public void Reset() - { - _position = 0; - _bitPosition = 0; - } - - /// - /// Set stream position - /// - /// Byte position - /// Bit position within byte (0-7) - public void SetPosition(int position, int bitPosition = 0) - { - if (position < 0 || position > _size) - throw new ArgumentException("Position out of range", nameof(position)); - - if (bitPosition < 0 || bitPosition > 7) - throw new ArgumentException("Bit position must be 0-7", nameof(bitPosition)); - - _position = position; - _bitPosition = bitPosition; - } - - /// - /// Get remaining bytes in stream - /// - /// Number of remaining bytes - public int GetRemainingBytes() - { - int remaining = _size - _position; - if (_bitPosition > 0 && remaining > 0) - remaining--; - return Math.Max(0, remaining); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/BitOutputStream.cs b/Port/dotnet/EXI/BitOutputStream.cs deleted file mode 100644 index 7b4e292..0000000 --- a/Port/dotnet/EXI/BitOutputStream.cs +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -namespace V2GDecoderNet.EXI -{ - /// - /// Bit output stream for writing EXI encoded data - /// - public class BitOutputStream - { - private byte[] _buffer; - private int _position; - private int _bitPosition; - private int _capacity; - - public BitOutputStream(int capacity = EXIConstants.BUFFER_SIZE) - { - _capacity = capacity; - _buffer = new byte[capacity]; - _position = 0; - _bitPosition = 0; - } - - public int Position => _position; - public int BitPosition => _bitPosition; - public int Capacity => _capacity; - - /// - /// Write a single bit - /// - /// Bit value (0 or 1) - public void WriteBit(int bit) - { - if (bit != 0 && bit != 1) - throw new ArgumentException("Bit value must be 0 or 1", nameof(bit)); - - EnsureCapacity(_position + 1); - - if (bit == 1) - { - _buffer[_position] |= (byte)(1 << (7 - _bitPosition)); - } - - _bitPosition++; - if (_bitPosition == 8) - { - _bitPosition = 0; - _position++; - } - } - - /// - /// Write multiple bits from unsigned integer - /// - /// Value to write - /// Number of bits to write (1-32) - public void WriteBits(uint value, int numBits) - { - if (numBits < 1 || numBits > 32) - throw new ArgumentException("Number of bits must be between 1 and 32", nameof(numBits)); - - for (int i = numBits - 1; i >= 0; i--) - { - int bit = (int)((value >> i) & 1); - WriteBit(bit); - } - } - - /// - /// Write unsigned integer using EXI encoding - /// - /// Unsigned integer value - public void WriteUnsignedInteger(uint value) - { - if (value == 0) - { - WriteByte(0); - return; - } - - // Calculate number of bytes needed - var bytes = new List(); - - while (value > 0) - { - byte currentByte = (byte)(value & 0x7F); - value >>= 7; - - if (value > 0) - currentByte |= 0x80; // Set continuation bit - - bytes.Add(currentByte); - } - - // Write bytes in reverse order (big-endian) - for (int i = bytes.Count - 1; i >= 0; i--) - { - WriteByte(bytes[i]); - } - } - - /// - /// Write signed integer using EXI encoding - /// - /// Signed integer value - public void WriteInteger(int value) - { - // Encode sign in LSB, shift value - uint unsignedValue; - if (value < 0) - { - unsignedValue = ((uint)(-value) << 1) | 1; - } - else - { - unsignedValue = (uint)value << 1; - } - - WriteUnsignedInteger(unsignedValue); - } - - /// - /// Write a byte aligned to byte boundary - /// - /// Byte value - public void WriteByte(byte value) - { - // Align to byte boundary - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - - EnsureCapacity(_position + 1); - _buffer[_position++] = value; - } - - /// - /// Write multiple bytes - /// - /// Byte array to write - public void WriteBytes(byte[] data) - { - if (data == null || data.Length == 0) - return; - - // Align to byte boundary - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - - EnsureCapacity(_position + data.Length); - Array.Copy(data, 0, _buffer, _position, data.Length); - _position += data.Length; - } - - /// - /// Align to next byte boundary - /// - public void AlignToByteBank() - { - if (_bitPosition != 0) - { - _bitPosition = 0; - _position++; - } - } - - /// - /// Get the written data as byte array - /// - /// Byte array containing written data - public byte[] ToArray() - { - int length = _position + (_bitPosition > 0 ? 1 : 0); - var result = new byte[length]; - Array.Copy(_buffer, result, length); - return result; - } - - /// - /// Get the current buffer length in bytes - /// - /// Length in bytes - public int GetLength() - { - return _position + (_bitPosition > 0 ? 1 : 0); - } - - /// - /// Reset the stream position to beginning - /// - public void Reset() - { - _position = 0; - _bitPosition = 0; - Array.Clear(_buffer, 0, _buffer.Length); - } - - /// - /// Ensure buffer has enough capacity - /// - /// Required size in bytes - private void EnsureCapacity(int requiredSize) - { - if (requiredSize > _capacity) - { - int newCapacity = Math.Max(_capacity * 2, requiredSize); - var newBuffer = new byte[newCapacity]; - Array.Copy(_buffer, newBuffer, _position); - _buffer = newBuffer; - _capacity = newCapacity; - } - } - - /// - /// Get current buffer usage statistics - /// - /// Usage information - public (int UsedBytes, int TotalCapacity, double UsagePercentage) GetUsageStats() - { - int usedBytes = GetLength(); - double usage = (double)usedBytes / _capacity * 100.0; - return (usedBytes, _capacity, usage); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/BitStreamExact.cs b/Port/dotnet/EXI/BitStreamExact.cs deleted file mode 100644 index c46c63f..0000000 --- a/Port/dotnet/EXI/BitStreamExact.cs +++ /dev/null @@ -1,643 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact BitStream implementation - byte-compatible with OpenV2G C implementation - * Matches BitInputStream.c and BitOutputStream.c exactly - */ - -using System; - -namespace V2GDecoderNet.EXI -{ - /// - /// Exact bit input stream implementation matching OpenV2G BitInputStream.c - /// - public class BitInputStreamExact - { - private readonly BitstreamExact _stream; - - public BitInputStreamExact(byte[] buffer) - { - _stream = new BitstreamExact(buffer); - } - - public BitInputStreamExact(BitstreamExact stream) - { - _stream = stream ?? throw new ArgumentNullException(nameof(stream)); - } - - /// - /// Read specified number of bits - exact implementation of readBits() - /// - public int ReadBits(int numBits) - { - if (numBits < 1 || numBits > 32) - throw new ArgumentException("Number of bits must be between 1 and 32", nameof(numBits)); - - int val = 0; - - while (numBits > 0) - { - // If buffer is empty, read next byte - if (_stream.Capacity == 0) - { - if (_stream.Position >= _stream.Size) - return -1; // End of stream - - _stream.Buffer = _stream.Data[_stream.Position++]; - _stream.Capacity = EXIConstantsExact.BITS_IN_BYTE; - } - - // Calculate how many bits to read from current buffer - int bitsToRead = Math.Min(numBits, _stream.Capacity); - - // Extract bits from buffer (from MSB side) - int mask = (0xFF >> (EXIConstantsExact.BITS_IN_BYTE - bitsToRead)); - int bits = (_stream.Buffer >> (_stream.Capacity - bitsToRead)) & mask; - - // Add to result value - val = (val << bitsToRead) | bits; - - // Update state - _stream.Capacity -= (byte)bitsToRead; - numBits -= bitsToRead; - } - - return val; - } - - /// - /// Read single bit - exact implementation - /// - public int ReadBit() - { - return ReadBits(1); - } - - /// - /// Read N-bit unsigned integer - exact implementation of decodeNBitUnsignedInteger() - /// - public int ReadNBitUnsignedInteger(int numBits) - { - if (numBits == 0) return 0; - return ReadBits(numBits); - } - - /// - /// Read variable length unsigned integer - exact implementation of decodeUnsignedInteger() - /// Uses 7-bit continuation encoding exactly like C implementation - /// - public long ReadUnsignedInteger() - { - const int MASK_7_BITS = 0x7F; - const int CONTINUATION_BIT = 0x80; - - byte[] maskedOctets = new byte[8]; // Max 8 bytes for 64-bit value - int i = 0; - byte b; - - // Read continuation bytes exactly like C implementation - do - { - int byteVal = ReadBits(8); - if (byteVal < 0) throw new InvalidOperationException("Unexpected end of stream"); - - b = (byte)byteVal; - maskedOctets[i++] = (byte)(b & MASK_7_BITS); - - if (i >= maskedOctets.Length) - throw new InvalidOperationException("Variable length integer too long"); - - } while ((b & CONTINUATION_BIT) != 0); - - // Assemble value from bytes (reverse order) - exact C algorithm - long value = 0; - for (int j = i - 1; j >= 0; j--) - { - value = (value << 7) | maskedOctets[j]; - } - - return value; - } - - /// - /// Read variable length signed integer - exact implementation - /// - public long ReadInteger() - { - long magnitude = ReadUnsignedInteger(); - - // Check sign bit (LSB of magnitude) - bool isNegative = (magnitude & 1) != 0; - - // Remove sign bit and adjust value - long value = magnitude >> 1; - - return isNegative ? -(value + 1) : value; - } - - /// - /// Read 16-bit unsigned integer - exact implementation of decodeUnsignedInteger16() - /// Uses VC2022 DecoderChannel.c algorithm exactly - /// VC2022 function name: decodeUnsignedInteger16 - /// - public ushort ReadUnsignedInteger16() - { - // Console.Error.WriteLine($"🔬 [ReadUnsignedInteger16] Starting at pos={Position}, bit={BitPosition}"); - uint mShift = 0; - ushort result = 0; - byte b; - int iterCount = 0; - - do - { - // 1. Read the next octet (8 bits) - b = (byte)ReadBits(8); - // Console.Error.WriteLine($"🔬 [ReadUnsignedInteger16] Iter {iterCount}: read byte=0x{b:X2}, pos={Position}, bit={BitPosition}"); - - // 2. Multiply the value of the unsigned number represented by the 7 - // least significant bits of the octet by the current multiplier and add the result to - // the current value - ushort addition = (ushort)((b & 127) << (int)mShift); - result = (ushort)(result + addition); - // Console.Error.WriteLine($"🔬 [ReadUnsignedInteger16] Iter {iterCount}: (b & 127)={b & 127}, mShift={mShift}, addition={addition}, result={result}"); - - // 3. Multiply the multiplier by 128 - mShift += 7; - - // 4. If the most significant bit of the octet was 1, go back to step 1 - bool continues = (b >> 7) == 1; - // Console.Error.WriteLine($"🔬 [ReadUnsignedInteger16] Iter {iterCount}: MSB={(b >> 7)}, continues={continues}"); - iterCount++; - - } while ((b >> 7) == 1); - - // Console.Error.WriteLine($"🔬 [ReadUnsignedInteger16] Final result={result}"); - return result; - } - - /// - /// Read 16-bit signed integer using C decodeInteger16 algorithm - /// First bit is sign bit: 0=positive, 1=negative - /// For negative: -(magnitude + 1) - /// - public short ReadInteger16() - { - // Read sign bit (1 bit) - bool isNegative = ReadBit() != 0; - - // Read unsigned magnitude - uint magnitude = (uint)ReadUnsignedInteger(); - - if (isNegative) - { - return (short)(-(magnitude + 1)); - } - else - { - return (short)magnitude; - } - } - - public bool IsEndOfStream => _stream.Position >= _stream.Size && _stream.Capacity == 0; - - public int Position => _stream.Position; - public int BitPosition => EXIConstantsExact.BITS_IN_BYTE - _stream.Capacity; - - /// - /// Get remaining bytes from current position - /// - public byte[] GetRemainingBytes() - { - int remainingBits = _stream.Capacity; - int currentBytePos = Position; - - if (remainingBits > 0) - { - // If there are remaining bits in current byte, we need to include it - currentBytePos--; - } - - int remainingByteCount = _stream.Size - currentBytePos; - if (remainingByteCount <= 0) return new byte[0]; - - byte[] remaining = new byte[remainingByteCount]; - Array.Copy(_stream.Data, currentBytePos, remaining, 0, remainingByteCount); - return remaining; - } - } - - /// - /// Exact bit output stream implementation matching OpenV2G BitOutputStream.c - /// - public class BitOutputStreamExact - { - private readonly BitstreamExact _stream; - - public BitOutputStreamExact(int capacity = EXIConstantsExact.BUFFER_SIZE) - { - _stream = new BitstreamExact(capacity); - } - - public BitOutputStreamExact(BitstreamExact stream) - { - _stream = stream ?? throw new ArgumentNullException(nameof(stream)); - } - - /// - /// Write specified number of bits - EXACT implementation matching VC2022 writeBits() - /// Based on BitOutputStream.c lines 40-108 - BYTE FOR BYTE IDENTICAL - /// VC2022 function name: writeBits - /// - public void writeBits(int numBits, int val) - { - if (numBits < 1 || numBits > 32) - throw new ArgumentException("Number of bits must be between 1 and 32", nameof(numBits)); - - // Console.Error.WriteLine($"🔬 [writeBits] ENTRY: pos={_stream.Position}, nbits={numBits}, val={val:X}, capacity={_stream.Capacity}, buffer=0x{_stream.Buffer:X2}"); - - // VC2022 line 43: if (nbits <= stream->capacity) - if (numBits <= _stream.Capacity) - { - // Console.Error.WriteLine($"🔬 [writeBits] Using single-byte path (nbits <= capacity)"); - // VC2022 line 45: stream->buffer = (uint8_t)(stream->buffer << (nbits)) | (uint8_t)(val & (uint32_t)(0xff >> (uint32_t)(BITS_IN_BYTE - nbits))); - uint mask = (uint)(0xFF >> (EXIConstantsExact.BITS_IN_BYTE - numBits)); - // Console.Error.WriteLine($"🔬 [writeBits] mask=0x{mask:X2}"); - if (_stream.Position >= 28 && _stream.Position <= 35 && _stream.Capacity == 1 && numBits == 1) - { - Console.Error.WriteLine($"🔠[writeBits] LAST BIT: pos={_stream.Position}, cap={_stream.Capacity}, buf=0x{_stream.Buffer:X2}, val={val}, writing to LSB"); - } - _stream.Buffer = (byte)((_stream.Buffer << numBits) | (val & mask)); - // Console.Error.WriteLine($"🔬 [writeBits] new buffer=0x{_stream.Buffer:X2}"); - - // VC2022 line 46: stream->capacity = (uint8_t)(stream->capacity - nbits); - _stream.Capacity = (byte)(_stream.Capacity - numBits); - // Console.Error.WriteLine($"🔬 [writeBits] new capacity={_stream.Capacity}"); - - // VC2022 line 48: if (stream->capacity == 0) - if (_stream.Capacity == 0) - { - // Console.Error.WriteLine($"🔬 [writeBits] Flushing buffer 0x{_stream.Buffer:X2} to position {_stream.Position}"); - // VC2022 line 53: stream->data[(*stream->pos)++] = stream->buffer; - if (_stream.Position >= _stream.Size) - throw new InvalidOperationException("Output buffer overflow"); - _stream.Data[_stream.Position++] = _stream.Buffer; - - // VC2022 line 61-62: stream->capacity = BITS_IN_BYTE; stream->buffer = 0; - _stream.Capacity = EXIConstantsExact.BITS_IN_BYTE; - _stream.Buffer = 0; - } - } - else - { - // VC2022 line 67-68: stream->buffer = (uint8_t)(stream->buffer << stream->capacity) | ( (uint8_t)(val >> (nbits - stream->capacity)) & (uint8_t)(0xff >> (BITS_IN_BYTE - stream->capacity)) ); - if (_stream.Position >= 28 && _stream.Position <= 35) - { - Console.Error.WriteLine($"🔠[writeBits] BOUNDARY: pos={_stream.Position}, cap={_stream.Capacity}, buf=0x{_stream.Buffer:X2}, val={val}, nbits={numBits}"); - Console.Error.WriteLine($"🔠[writeBits] shift_amount={numBits - _stream.Capacity}, val_shifted={(byte)(val >> (numBits - _stream.Capacity))}"); - } - _stream.Buffer = (byte)((_stream.Buffer << _stream.Capacity) | - (((byte)(val >> (numBits - _stream.Capacity))) & (byte)(0xFF >> (EXIConstantsExact.BITS_IN_BYTE - _stream.Capacity)))); - - // VC2022 line 70: nbits = (nbits - stream->capacity); - numBits = numBits - _stream.Capacity; - - // VC2022 line 75: stream->data[(*stream->pos)++] = stream->buffer; - if (_stream.Position >= _stream.Size) - throw new InvalidOperationException("Output buffer overflow"); - if (_stream.Position >= 28 && _stream.Position <= 35) - Console.Error.WriteLine($"🔠[writeBits] Writing byte 0x{_stream.Buffer:X2} to position {_stream.Position}"); - _stream.Data[_stream.Position++] = _stream.Buffer; - - // VC2022 line 83: stream->buffer = 0; - _stream.Buffer = 0; - - // VC2022 line 86-92: while (errn == 0 && nbits >= BITS_IN_BYTE) - while (numBits >= EXIConstantsExact.BITS_IN_BYTE) - { - // VC2022 line 87: nbits = (nbits - BITS_IN_BYTE); - numBits = numBits - EXIConstantsExact.BITS_IN_BYTE; - - // VC2022 line 92: stream->data[(*stream->pos)++] = (uint8_t)(val >> (nbits)); - if (_stream.Position >= _stream.Size) - throw new InvalidOperationException("Output buffer overflow"); - _stream.Data[_stream.Position++] = (byte)(val >> numBits); - } - - // VC2022 line 103-104: stream->buffer = (uint8_t)val; stream->capacity = (uint8_t)(BITS_IN_BYTE - (nbits)); - _stream.Buffer = (byte)val; // Note: the high bits will be shifted out during further filling - _stream.Capacity = (byte)(EXIConstantsExact.BITS_IN_BYTE - numBits); - } - } - - /// - /// Write single bit - exact implementation - /// - public void WriteBit(int bit) - { - if (Position >= 28 && Position <= 35) - Console.Error.WriteLine($"🔠[WriteBit] pos={Position}:{BitPosition}, bit={bit}"); - writeBits(1, bit); - } - - /// - /// Compatibility wrapper - keep C# naming for internal use - /// - public void WriteBits(int numBits, int val) - { - if (Position >= 28 && Position <= 45) - Console.Error.WriteLine($"🔠[WriteBits] pos={Position}, writing {numBits} bits, val={val:X}"); - writeBits(numBits, val); - if (Position >= 28 && Position <= 45) - Console.Error.WriteLine($"🔠[WriteBits] pos after={Position}"); - } - - /// - /// Write N-bit unsigned integer - exact implementation of encodeNBitUnsignedInteger() - /// VC2022 function name: encodeNBitUnsignedInteger - /// - public void encodeNBitUnsignedInteger(int numBits, int val) - { - if (numBits > 0) - { - if (Position >= 28 && Position <= 35) - Console.Error.WriteLine($"🔠[encodeNBit] pos={Position}:{BitPosition}, writing {numBits} bits, val={val}"); - writeBits(numBits, val); - // Console.Error.WriteLine($"🔬 [encodeNBit] After write pos_after={Position}, buf=0x{BufferState:X2}, cap={CapacityState}"); - } - } - - /// - /// Compatibility wrapper - keep C# naming for internal use - /// - /// - /// Legacy C# style alias for backward compatibility - /// - public void WriteNBitUnsignedInteger(int numBits, int val) => encodeNBitUnsignedInteger(numBits, val); - - /// - /// Compatibility wrapper - keep C# naming for internal use - /// - public void WriteUnsignedInteger16(ushort val) => encodeUnsignedInteger16(val); - - /// - /// Helper method - exact implementation of numberOf7BitBlocksToRepresent() - /// - private byte NumberOf7BitBlocksToRepresent(ushort n) - { - if (n < 128) return 1; - if (n < 16384) return 2; // 128 * 128 = 16384 - return 3; - } - - /// - /// Number of 7-bit blocks needed to represent a value - exact VC2022 algorithm - /// - private static byte NumberOf7BitBlocksToRepresent(uint n) - { - /* 7 bits */ - if (n < 128) { - return 1; - } - /* 14 bits */ - else if (n < 16384) { - return 2; - } - /* 21 bits */ - else if (n < 2097152) { - return 3; - } - /* 28 bits */ - else if (n < 268435456) { - return 4; - } - /* 35 bits */ - else { - /* int, 32 bits */ - return 5; - } - } - - /// - /// Encode unsigned integer using VC2022 encodeUnsignedInteger32 exact algorithm - /// - public void encodeUnsignedInteger32(uint n) - { - if (n < 128) - { - // Write byte as is - WriteBits(8, (byte)n); - } - else - { - byte n7BitBlocks = NumberOf7BitBlocksToRepresent(n); - - switch (n7BitBlocks) - { - case 5: - WriteBits(8, (byte)(128 | n)); - n = n >> 7; - goto case 4; - case 4: - WriteBits(8, (byte)(128 | n)); - n = n >> 7; - goto case 3; - case 3: - WriteBits(8, (byte)(128 | n)); - n = n >> 7; - goto case 2; - case 2: - WriteBits(8, (byte)(128 | n)); - n = n >> 7; - goto case 1; - case 1: - // 0 .. 7 (last byte) - WriteBits(8, (byte)(0 | n)); - break; - } - } - } - - /// - /// Encode unsigned integer using VC2022 encodeUnsignedInteger16 exact algorithm - /// - public void encodeUnsignedInteger16(ushort n) - { - // if (n == 471) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] Encoding 471, pos={Position}"); - - if (n < 128) - { - // Write byte as is - // if (n == 471) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] 471 < 128, writing {n}"); - WriteBits(8, (byte)n); - } - else - { - byte n7BitBlocks = NumberOf7BitBlocksToRepresent(n); - // if (n == 471) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] 471 >= 128, n7BitBlocks={n7BitBlocks}"); - - switch (n7BitBlocks) - { - case 3: - // if (n == 471) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] case 3: writing {(byte)(128 | n)} = {128 | n}"); - WriteBits(8, (byte)(128 | n)); - n = (ushort)(n >> 7); - goto case 2; - case 2: - // if (n == 471) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] case 2: writing {(byte)(128 | n)} = {128 | n}"); - WriteBits(8, (byte)(128 | n)); - n = (ushort)(n >> 7); - // if (n == 3) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] after >>7, n=3, going to case 1"); - goto case 1; - case 1: - // 0 .. 7 (last byte) - // if (n == 3) Console.Error.WriteLine($"🔠[encodeUnsignedInteger16] case 1: writing final {(byte)(0 | n)} = {0 | n}"); - WriteBits(8, (byte)(0 | n)); - break; - } - } - } - - /// - /// Write variable length unsigned integer - exact implementation of encodeUnsignedInteger() - /// Uses 7-bit continuation encoding exactly like C implementation - /// - public void WriteUnsignedInteger(long val) - { - if (val < 0) - throw new ArgumentException("Value must be non-negative", nameof(val)); - - // Use VC2022 exact algorithm for 32-bit values - if (val <= uint.MaxValue) - { - encodeUnsignedInteger32((uint)val); - return; - } - - const int MASK_7_BITS = 0x7F; - const int CONTINUATION_BIT = 0x80; - - // Handle zero as special case - if (val == 0) - { - WriteBits(8, 0); - return; - } - - // Split into 7-bit chunks with continuation bits - exact C algorithm - byte[] bytes = new byte[10]; // Max bytes needed for 64-bit value - int numBytes = 0; - - while (val > 0) - { - byte chunk = (byte)(val & MASK_7_BITS); - val >>= 7; - - // Set continuation bit if more bytes follow - if (val > 0) - chunk |= CONTINUATION_BIT; - - bytes[numBytes++] = chunk; - } - - // Write bytes in forward order - for (int i = 0; i < numBytes; i++) - { - WriteBits(8, bytes[i]); - } - } - - /// - /// Write variable length signed integer - exact implementation - /// - public void WriteInteger(long val) - { - // Encode sign in LSB and magnitude in remaining bits - bool isNegative = val < 0; - long magnitude = isNegative ? (-val - 1) : val; - - // Shift magnitude left and set sign bit - long encodedValue = (magnitude << 1) | (isNegative ? 1 : 0); - - WriteUnsignedInteger(encodedValue); - } - - /// - /// Write 16-bit signed integer using VC2022 encodeInteger16 algorithm - /// First bit is sign bit: 0=positive, 1=negative - /// For negative: -(magnitude + 1) - /// Exactly matches VC2022's encodeInteger16() implementation - /// - public void WriteInteger16(short val) - { - Console.Error.WriteLine($"🔢 [WriteInteger16] Input: {val}"); - - // Write sign bit (1 bit) - bool isNegative = val < 0; - WriteBit(isNegative ? 1 : 0); - Console.Error.WriteLine($"🔢 [WriteInteger16] Sign bit: {(isNegative ? 1 : 0)} (negative: {isNegative})"); - - // Calculate unsigned magnitude - uint magnitude; - if (isNegative) - { - // For negative: magnitude = (-val) - 1 - magnitude = (uint)((-val) - 1); - } - else - { - // For positive: magnitude = val - magnitude = (uint)val; - } - - Console.Error.WriteLine($"🔢 [WriteInteger16] Magnitude: {magnitude}"); - - // Write unsigned magnitude using VC2022's encodeUnsignedInteger16 - encodeUnsignedInteger16((ushort)magnitude); - } - - /// - /// Flush remaining bits - exact implementation of VC2022 flush() - /// VC2022: if (stream->capacity == BITS_IN_BYTE) { /* nothing */ } else { writeBits(stream, stream->capacity, 0); } - /// - public void Flush() - { - // Console.Error.WriteLine($"🔠[Flush] capacity={_stream.Capacity}, BITS_IN_BYTE={EXIConstantsExact.BITS_IN_BYTE}"); - // VC2022 exact implementation - if (_stream.Capacity == EXIConstantsExact.BITS_IN_BYTE) - { - // nothing to do, no bits in buffer - // Console.Error.WriteLine($"🔠[Flush] nothing to do"); - } - else - { - // errn = writeBits(stream, stream->capacity, 0); - // Console.Error.WriteLine($"🔠[Flush] calling writeBits({_stream.Capacity}, 0)"); - writeBits(_stream.Capacity, 0); - } - } - - /// - /// Reset buffer state - exact match to VC2022 writeEXIHeader initialization - /// stream->buffer = 0; stream->capacity = 8; - /// - public void ResetBuffer() - { - _stream.Buffer = 0; - _stream.Capacity = 8; - } - - public byte[] ToArray() - { - // VC2022 equivalent: encodeFinish() calls flush() - Flush(); - return _stream.ToArray(); - } - - public int Position => _stream.Position; - public int BitPosition => EXIConstantsExact.BITS_IN_BYTE - _stream.Capacity; - public byte BufferState => _stream.Buffer; - public byte CapacityState => _stream.Capacity; - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/ByteStream.cs b/Port/dotnet/EXI/ByteStream.cs deleted file mode 100644 index 8d5b40a..0000000 --- a/Port/dotnet/EXI/ByteStream.cs +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -using System.IO; - -namespace V2GDecoderNet.EXI -{ - /// - /// Byte Stream utilities for file operations - /// - public static class ByteStream - { - /// - /// Write bytes to file - /// - /// byte array - /// File name - /// Error-Code != 0 on failure - public static int WriteBytesToFile(byte[] data, string filename) - { - try - { - if (data == null) - return EXIErrorCodes.EXI_ERROR_OUT_OF_BYTE_BUFFER; - - if (string.IsNullOrEmpty(filename)) - return EXIErrorCodes.EXI_ERROR_OUTPUT_FILE; - - File.WriteAllBytes(filename, data); - return 0; // Success - } - catch (UnauthorizedAccessException) - { - return EXIErrorCodes.EXI_ERROR_OUTPUT_FILE; - } - catch (DirectoryNotFoundException) - { - return EXIErrorCodes.EXI_ERROR_OUTPUT_FILE; - } - catch (IOException) - { - return EXIErrorCodes.EXI_ERROR_OUTPUT_FILE; - } - catch - { - return EXIErrorCodes.EXI_ERROR_OUTPUT_FILE; - } - } - - /// - /// Read bytes from file - /// - /// File name - /// Output byte array - /// Number of bytes actually read - /// Error-Code != 0 on failure - public static int ReadBytesFromFile(string filename, out byte[] data, out int bytesRead) - { - data = Array.Empty(); - bytesRead = 0; - - try - { - if (string.IsNullOrEmpty(filename)) - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - - if (!File.Exists(filename)) - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - - data = File.ReadAllBytes(filename); - bytesRead = data.Length; - return 0; // Success - } - catch (UnauthorizedAccessException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (DirectoryNotFoundException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (FileNotFoundException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (IOException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - } - - /// - /// Read bytes from file with buffer size limit - /// - /// File name - /// Maximum buffer size - /// Output byte array - /// Number of bytes actually read - /// Error-Code != 0 on failure - public static int ReadBytesFromFile(string filename, int maxSize, out byte[] data, out int bytesRead) - { - data = Array.Empty(); - bytesRead = 0; - - try - { - if (string.IsNullOrEmpty(filename)) - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - - if (!File.Exists(filename)) - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - - using var fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read); - var fileSize = (int)fileStream.Length; - - if (fileSize > maxSize) - return EXIErrorCodes.EXI_ERROR_OUT_OF_BYTE_BUFFER; - - data = new byte[fileSize]; - bytesRead = fileStream.Read(data, 0, fileSize); - - return 0; // Success - } - catch (UnauthorizedAccessException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (DirectoryNotFoundException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (FileNotFoundException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch (IOException) - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - catch - { - return EXIErrorCodes.EXI_ERROR_INPUT_FILE_HANDLE; - } - } - - /// - /// Convert hex string to byte array - /// - /// Hex string - /// Byte array - public static byte[] HexStringToByteArray(string hex) - { - if (string.IsNullOrEmpty(hex)) - return Array.Empty(); - - // Remove any whitespace or separators - hex = hex.Replace(" ", "").Replace("-", "").Replace(":", ""); - - if (hex.Length % 2 != 0) - throw new ArgumentException("Hex string must have even number of characters"); - - var result = new byte[hex.Length / 2]; - for (int i = 0; i < result.Length; i++) - { - if (!byte.TryParse(hex.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber, null, out result[i])) - throw new ArgumentException($"Invalid hex characters at position {i * 2}"); - } - - return result; - } - - /// - /// Convert byte array to hex string - /// - /// Byte array - /// Use uppercase hex digits - /// Hex string - public static string ByteArrayToHexString(byte[] data, bool uppercase = true) - { - if (data == null || data.Length == 0) - return string.Empty; - - var format = uppercase ? "X2" : "x2"; - return string.Concat(data.Select(b => b.ToString(format))); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/DinEXIDocument.cs b/Port/dotnet/EXI/DinEXIDocument.cs deleted file mode 100644 index 41f565d..0000000 --- a/Port/dotnet/EXI/DinEXIDocument.cs +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * DinEXIDocument - 1:1 replica of VC2022 dinEXIDocument structure - * DIN SPEC 70121 version - */ - -using V2GDecoderNet.V2G; - -namespace V2GDecoderNet.EXI -{ - /// - /// 1:1 replica of VC2022's struct dinEXIDocument for DIN SPEC 70121 - /// This enables exact debugging comparison and identical call sequences - /// - public class DinEXIDocument - { - // Core V2G_Message for DIN - public bool V2G_Message_isUsed { get; set; } - public V2GMessageExact V2G_Message { get; set; } = new V2GMessageExact(); - - // DIN-specific message types - public bool SessionSetupReq_isUsed { get; set; } - public bool SessionSetupRes_isUsed { get; set; } - public bool ServiceDiscoveryReq_isUsed { get; set; } - public bool ServiceDiscoveryRes_isUsed { get; set; } - public bool ServicePaymentSelectionReq_isUsed { get; set; } - public bool ServicePaymentSelectionRes_isUsed { get; set; } - public bool PaymentDetailsReq_isUsed { get; set; } - public bool PaymentDetailsRes_isUsed { get; set; } - public bool ContractAuthenticationReq_isUsed { get; set; } - public bool ContractAuthenticationRes_isUsed { get; set; } - public bool ChargeParameterDiscoveryReq_isUsed { get; set; } - public bool ChargeParameterDiscoveryRes_isUsed { get; set; } - public bool PowerDeliveryReq_isUsed { get; set; } - public bool PowerDeliveryRes_isUsed { get; set; } - public bool ChargingStatusReq_isUsed { get; set; } - public bool ChargingStatusRes_isUsed { get; set; } - public bool MeteringReceiptReq_isUsed { get; set; } - public bool MeteringReceiptRes_isUsed { get; set; } - public bool SessionStopReq_isUsed { get; set; } - public bool SessionStopRes_isUsed { get; set; } - - // DIN DC charging specific - public bool CableCheckReq_isUsed { get; set; } - public bool CableCheckRes_isUsed { get; set; } - public bool PreChargeReq_isUsed { get; set; } - public bool PreChargeRes_isUsed { get; set; } - public bool CurrentDemandReq_isUsed { get; set; } - public bool CurrentDemandRes_isUsed { get; set; } - public bool WeldingDetectionReq_isUsed { get; set; } - public bool WeldingDetectionRes_isUsed { get; set; } - - // DIN-specific data types - public bool BodyElement_isUsed { get; set; } - public bool DC_EVStatus_isUsed { get; set; } - public bool DC_EVSEStatus_isUsed { get; set; } - public bool EVChargeParameter_isUsed { get; set; } - public bool EVSEChargeParameter_isUsed { get; set; } - - // Certificate and security related (DIN) - public bool CertificateInstallationReq_isUsed { get; set; } - public bool CertificateInstallationRes_isUsed { get; set; } - public bool CertificateUpdateReq_isUsed { get; set; } - public bool CertificateUpdateRes_isUsed { get; set; } - - /// - /// Initialize document structure - equivalent to init_dinEXIDocument() - /// - public void Initialize() - { - // Reset all _isUsed flags to false (VC2022 behavior) - V2G_Message_isUsed = false; - SessionSetupReq_isUsed = false; - SessionSetupRes_isUsed = false; - ServiceDiscoveryReq_isUsed = false; - ServiceDiscoveryRes_isUsed = false; - ServicePaymentSelectionReq_isUsed = false; - ServicePaymentSelectionRes_isUsed = false; - PaymentDetailsReq_isUsed = false; - PaymentDetailsRes_isUsed = false; - ContractAuthenticationReq_isUsed = false; - ContractAuthenticationRes_isUsed = false; - ChargeParameterDiscoveryReq_isUsed = false; - ChargeParameterDiscoveryRes_isUsed = false; - PowerDeliveryReq_isUsed = false; - PowerDeliveryRes_isUsed = false; - ChargingStatusReq_isUsed = false; - ChargingStatusRes_isUsed = false; - MeteringReceiptReq_isUsed = false; - MeteringReceiptRes_isUsed = false; - SessionStopReq_isUsed = false; - SessionStopRes_isUsed = false; - - CableCheckReq_isUsed = false; - CableCheckRes_isUsed = false; - PreChargeReq_isUsed = false; - PreChargeRes_isUsed = false; - CurrentDemandReq_isUsed = false; - CurrentDemandRes_isUsed = false; - WeldingDetectionReq_isUsed = false; - WeldingDetectionRes_isUsed = false; - - BodyElement_isUsed = false; - DC_EVStatus_isUsed = false; - DC_EVSEStatus_isUsed = false; - EVChargeParameter_isUsed = false; - EVSEChargeParameter_isUsed = false; - - CertificateInstallationReq_isUsed = false; - CertificateInstallationRes_isUsed = false; - CertificateUpdateReq_isUsed = false; - CertificateUpdateRes_isUsed = false; - - // Initialize V2G_Message structure - V2G_Message = new V2GMessageExact(); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/EXIHeaderExact.cs b/Port/dotnet/EXI/EXIHeaderExact.cs deleted file mode 100644 index 4310006..0000000 --- a/Port/dotnet/EXI/EXIHeaderExact.cs +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact EXI Header implementation - byte-compatible with OpenV2G - * Matches EXIHeaderDecoder.c and EXIHeaderEncoder.c exactly - */ - -using System; - -namespace V2GDecoderNet.EXI -{ - /// - /// EXI Error codes - exact match to C implementation - /// - public static class EXIErrorCodesExact - { - public const int EXI_OK = 0; - public const int EXI_ERROR_UNEXPECTED_END_OF_STREAM = -1; - public const int EXI_UNSUPPORTED_HEADER_COOKIE = -2; - public const int EXI_UNSUPPORTED_HEADER_OPTIONS = -3; - public const int EXI_ERROR_UNKNOWN_EVENT = -4; - public const int EXI_ERROR_OUT_OF_BYTE_BUFFER = -5; - public const int EXI_ERROR_OUT_OF_BOUNDS = -6; - public const int EXI_ERROR_STRINGVALUES_NOT_SUPPORTED = -7; - public const int EXI_ERROR_NOT_IMPLEMENTED_YET = -8; - } - - /// - /// EXI Header decoder - exact implementation of EXIHeaderDecoder.c - /// - public static class EXIHeaderDecoderExact - { - /// - /// Decode EXI header - exact implementation of decodeEXIHeader() - /// - public static int DecodeHeader(BitInputStreamExact stream, EXIHeaderExact header) - { - if (stream == null) throw new ArgumentNullException(nameof(stream)); - if (header == null) throw new ArgumentNullException(nameof(header)); - - // Read the header byte - int headerByte = stream.ReadBits(8); - if (headerByte < 0) - return EXIErrorCodesExact.EXI_ERROR_UNEXPECTED_END_OF_STREAM; - - byte header_b = (byte)headerByte; - - // Check for EXI Cookie - not supported in this implementation - if (header_b == 0x24) // '$' character - { - return EXIErrorCodesExact.EXI_UNSUPPORTED_HEADER_COOKIE; - } - - // Check presence bit for EXI Options (bit 5, value 0x20) - if ((header_b & 0x20) != 0) - { - return EXIErrorCodesExact.EXI_UNSUPPORTED_HEADER_OPTIONS; - } - - // Parse simple header format (distinguishing bits = "1") - // Bit pattern: 1 | Version[4] | Presence[1] | Format[2] - - // Extract format version (bits 6-3, mask 0x1E, shift right 1) - header.FormatVersion = (byte)((header_b & 0x1E) >> 1); - - // Extract format field (bits 1-0, mask 0x03) - byte format = (byte)(header_b & 0x03); - - // Set preservation options based on format field - switch (format) - { - case 0: // Format 00: No preservation - header.PreserveComments = false; - header.PreservePIs = false; - header.PreserveDTD = false; - header.PreservePrefixes = false; - break; - case 1: // Format 01: Preserve comments and PIs - header.PreserveComments = true; - header.PreservePIs = true; - header.PreserveDTD = false; - header.PreservePrefixes = false; - break; - case 2: // Format 10: Preserve DTD and prefixes - header.PreserveComments = false; - header.PreservePIs = false; - header.PreserveDTD = true; - header.PreservePrefixes = true; - break; - case 3: // Format 11: Preserve all - header.PreserveComments = true; - header.PreservePIs = true; - header.PreserveDTD = true; - header.PreservePrefixes = true; - break; - } - - // Header always has no cookie in this implementation - header.HasCookie = false; - - return EXIErrorCodesExact.EXI_OK; - } - } - - /// - /// EXI Header encoder - exact implementation of EXIHeaderEncoder.c - /// - public static class EXIHeaderEncoderExact - { - /// - /// Encode EXI header - exact implementation of encodeEXIHeader() - /// Always writes simple header format (0x80 = 128) - /// - public static int EncodeHeader(BitOutputStreamExact stream, EXIHeaderExact header) - { - if (stream == null) throw new ArgumentNullException(nameof(stream)); - if (header == null) throw new ArgumentNullException(nameof(header)); - - try - { - // Simple header format: always write 128 (0x80) - // Bit pattern: 1 0000 0 00 = 10000000 = 0x80 = 128 - // - Distinguishing bit: 1 - // - Version: 0000 (format version 0) - // - Presence bit: 0 (no options) - // - Format: 00 (no preservation) - stream.WriteBits(8, EXIConstantsExact.EXI_HEADER_SIMPLE); - - return EXIErrorCodesExact.EXI_OK; - } - catch - { - return EXIErrorCodesExact.EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - } - } - - /// - /// EXI Exception for exact error handling - /// - public class EXIExceptionExact : Exception - { - public int ErrorCode { get; } - - public EXIExceptionExact(int errorCode, string message) : base(message) - { - ErrorCode = errorCode; - } - - public EXIExceptionExact(int errorCode, string message, Exception innerException) - : base(message, innerException) - { - ErrorCode = errorCode; - } - - public static string GetErrorMessage(int errorCode) - { - return errorCode switch - { - EXIErrorCodesExact.EXI_OK => "No error", - EXIErrorCodesExact.EXI_ERROR_UNEXPECTED_END_OF_STREAM => "Unexpected end of stream", - EXIErrorCodesExact.EXI_UNSUPPORTED_HEADER_COOKIE => "EXI header cookie not supported", - EXIErrorCodesExact.EXI_UNSUPPORTED_HEADER_OPTIONS => "EXI header options not supported", - EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT => "Unknown EXI event", - EXIErrorCodesExact.EXI_ERROR_OUT_OF_BYTE_BUFFER => "Output buffer overflow", - EXIErrorCodesExact.EXI_ERROR_OUT_OF_BOUNDS => "Index out of bounds", - EXIErrorCodesExact.EXI_ERROR_STRINGVALUES_NOT_SUPPORTED => "String values not supported", - EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET => "Feature not implemented", - _ => $"Unknown error code: {errorCode}" - }; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/EXITypes.cs b/Port/dotnet/EXI/EXITypes.cs deleted file mode 100644 index 8df0967..0000000 --- a/Port/dotnet/EXI/EXITypes.cs +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -namespace V2GDecoderNet.EXI -{ - /// - /// Basic type definitions and constants for EXI codec - /// - public static class EXIConstants - { - /// Number of bits for each byte - public const int BITS_IN_BYTE = 8; - - /// EXI Date-Time offset for year - public const int DATETIME_YEAR_OFFSET = 2000; - - /// EXI Date-Time number of bits for monthDay - public const int DATETIME_NUMBER_BITS_MONTHDAY = 9; - - /// EXI Date-Time number of bits for time - public const int DATETIME_NUMBER_BITS_TIME = 17; - - /// EXI Date-Time number of bits for timezone - public const int DATETIME_NUMBER_BITS_TIMEZONE = 11; - - /// EXI Date-Time month multiplicator - public const int DATETIME_MONTH_MULTIPLICATOR = 32; - - /// EXI Date-Time offset for timezone minutes - public const int DATETIME_TIMEZONE_OFFSET_IN_MINUTES = 896; - - /// Maximum integer value for uint - public const int UINT_MAX_VALUE = 65535; - - /// EXI Float exponent special values - public const int FLOAT_EXPONENT_SPECIAL_VALUES = -16384; - - /// EXI Float mantissa infinity - public const long FLOAT_MANTISSA_INFINITY = 1; - - /// EXI Float minus mantissa infinity - public const long FLOAT_MANTISSA_MINUS_INFINITY = -1; - - /// EXI Float not a number - public const long FLOAT_MANTISSA_NOT_A_NUMBER = 0; - - /// Maximum number of cascading elements, XML tree depth - public const int EXI_ELEMENT_STACK_SIZE = 24; - - /// Default buffer size - public const int BUFFER_SIZE = 4096; - } - - /// - /// EXI Events enumeration - /// - public enum EXIEvent - { - /// Start Document SD - START_DOCUMENT, - /// End Document ED - END_DOCUMENT, - /// Start Element SE(qname) - START_ELEMENT, - /// Start Element SE(uri:*) - START_ELEMENT_NS, - /// Start Element SE(*) generic - START_ELEMENT_GENERIC, - /// Start Element SE(*) generic undeclared - START_ELEMENT_GENERIC_UNDECLARED, - /// End Element EE - END_ELEMENT, - /// End Element EE undeclared - END_ELEMENT_UNDECLARED, - /// Characters CH - CHARACTERS, - /// Characters CH generic - CHARACTERS_GENERIC, - /// Attribute AT(qname) - ATTRIBUTE, - /// Attribute AT(uri:*) - ATTRIBUTE_NS, - /// Attribute AT(*) generic - ATTRIBUTE_GENERIC, - /// Attribute AT(*) generic undeclared - ATTRIBUTE_GENERIC_UNDECLARED, - /// Attribute AT(xsi:type) - ATTRIBUTE_XSI_TYPE, - /// Attribute AT(xsi:nil) - ATTRIBUTE_XSI_NIL, - /// Self Contained SC - SELF_CONTAINED, - /// Entity Reference ER - ENTITY_REFERENCE, - /// Comment CM - COMMENT, - /// Processing Instruction PI - PROCESSING_INSTRUCTION, - /// Document Type Definition DTD - DOCTYPE_DECLARATION, - /// Namespace Declaration NS - NAMESPACE_DECLARATION - } - - /// - /// EXI Integer types - /// - public enum EXIIntegerType - { - UNSIGNED_INTEGER_8, - UNSIGNED_INTEGER_16, - UNSIGNED_INTEGER_32, - UNSIGNED_INTEGER_64, - INTEGER_8, - INTEGER_16, - INTEGER_32, - INTEGER_64, - UNSIGNED_INTEGER_BIG - } - - /// - /// EXI String types - /// - public enum EXIStringType - { - ASCII, - UTF8, - UTF16 - } - - /// - /// Configuration settings for EXI processing - /// - public class EXIConfig - { - /// Stream type configuration - public enum StreamType - { - BYTE_ARRAY = 1, - FILE_STREAM = 2 - } - - /// Memory allocation mode - public enum MemoryAllocation - { - STATIC_ALLOCATION = 1, - DYNAMIC_ALLOCATION = 2 - } - - /// String representation mode - public enum StringRepresentation - { - ASCII = 1, - UCS = 2 - } - - public StreamType Stream { get; set; } = StreamType.BYTE_ARRAY; - public MemoryAllocation Memory { get; set; } = MemoryAllocation.DYNAMIC_ALLOCATION; - public StringRepresentation Strings { get; set; } = StringRepresentation.UCS; - } - - /// - /// EXI Integer value holder - /// - public class EXIInteger - { - public EXIIntegerType Type { get; set; } - public ulong Value { get; set; } - - public EXIInteger(EXIIntegerType type, ulong value) - { - Type = type; - Value = value; - } - } - - /// - /// EXI String value holder - /// - public class EXIString - { - public EXIStringType Type { get; set; } - public byte[] Data { get; set; } - public int Length { get; set; } - - public EXIString(byte[] data, EXIStringType type = EXIStringType.UTF8) - { - Data = data ?? throw new ArgumentNullException(nameof(data)); - Length = data.Length; - Type = type; - } - - public override string ToString() - { - return Type switch - { - EXIStringType.ASCII => System.Text.Encoding.ASCII.GetString(Data, 0, Length), - EXIStringType.UTF8 => System.Text.Encoding.UTF8.GetString(Data, 0, Length), - EXIStringType.UTF16 => System.Text.Encoding.Unicode.GetString(Data, 0, Length), - _ => System.Text.Encoding.UTF8.GetString(Data, 0, Length) - }; - } - } - - /// - /// Bitstream for EXI encoding/decoding operations - /// - public class Bitstream - { - public byte[] Buffer { get; set; } - public int Position { get; set; } - public int BitPosition { get; set; } - public int Size { get; set; } - - public Bitstream(int size = EXIConstants.BUFFER_SIZE) - { - Buffer = new byte[size]; - Size = size; - Position = 0; - BitPosition = 0; - } - - public Bitstream(byte[] data) - { - Buffer = data ?? throw new ArgumentNullException(nameof(data)); - Size = data.Length; - Position = 0; - BitPosition = 0; - } - - public void Reset() - { - Position = 0; - BitPosition = 0; - } - - public byte[] ToArray() - { - var result = new byte[Position + (BitPosition > 0 ? 1 : 0)]; - Array.Copy(Buffer, result, result.Length); - return result; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/EXITypesExact.cs b/Port/dotnet/EXI/EXITypesExact.cs deleted file mode 100644 index 65c56c1..0000000 --- a/Port/dotnet/EXI/EXITypesExact.cs +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact EXI Types - Byte-compatible port of OpenV2G EXI implementation - */ - -using System; - -namespace V2GDecoderNet.EXI -{ - /// - /// Exact EXI constants matching OpenV2G C implementation - /// - public static class EXIConstantsExact - { - // Core EXI constants from EXITypes.h - public const int BITS_IN_BYTE = 8; - public const int EXI_ELEMENT_STACK_SIZE = 24; - public const int UINT_MAX_VALUE = 65535; - - // EXI Date-Time constants - public const int DATETIME_YEAR_OFFSET = 2000; - public const int DATETIME_NUMBER_BITS_MONTHDAY = 9; - public const int DATETIME_NUMBER_BITS_TIME = 17; - public const int DATETIME_NUMBER_BITS_TIMEZONE = 11; - public const int DATETIME_MONTH_MULTIPLICATOR = 32; - public const int DATETIME_TIMEZONE_OFFSET_IN_MINUTES = 896; - - // EXI Float special values - public const int FLOAT_EXPONENT_SPECIAL_VALUES = -16384; - public const long FLOAT_MANTISSA_INFINITY = 1; - public const long FLOAT_MANTISSA_MINUS_INFINITY = -1; - public const long FLOAT_MANTISSA_NOT_A_NUMBER = 0; - - // Buffer and stream configuration - public const int BUFFER_SIZE = 4096; - - // EXI Header byte - always 0x80 for simple headers - public const byte EXI_HEADER_SIMPLE = 0x80; - - // Stream type configuration - public const int EXI_STREAM_BYTE_ARRAY = 0; - public const int EXI_STREAM_FILE = 1; - } - - /// - /// EXI Events enumeration - exact match to C implementation - /// - public enum EXIEventExact - { - START_DOCUMENT = 0, - END_DOCUMENT = 1, - START_ELEMENT = 2, - START_ELEMENT_NS = 3, - START_ELEMENT_GENERIC = 4, - START_ELEMENT_GENERIC_UNDECLARED = 5, - END_ELEMENT = 6, - END_ELEMENT_UNDECLARED = 7, - CHARACTERS = 8, - CHARACTERS_GENERIC = 9, - ATTRIBUTE = 10, - ATTRIBUTE_NS = 11, - ATTRIBUTE_GENERIC = 12, - ATTRIBUTE_GENERIC_UNDECLARED = 13, - ATTRIBUTE_XSI_TYPE = 14, - ATTRIBUTE_XSI_NIL = 15, - SELF_CONTAINED = 16, - ENTITY_REFERENCE = 17, - COMMENT = 18, - PROCESSING_INSTRUCTION = 19, - DOCTYPE_DECLARATION = 20, - NAMESPACE_DECLARATION = 21 - } - - /// - /// EXI Integer types - exact match to C implementation - /// - public enum EXIIntegerTypeExact - { - UNSIGNED_INTEGER_8 = 0, - UNSIGNED_INTEGER_16 = 1, - UNSIGNED_INTEGER_32 = 2, - UNSIGNED_INTEGER_64 = 3, - INTEGER_8 = 4, - INTEGER_16 = 5, - INTEGER_32 = 6, - INTEGER_64 = 7, - UNSIGNED_INTEGER_BIG = 8 - } - - /// - /// EXI Stream configuration - exact match to C bitstream_t - /// - public class BitstreamExact - { - // Core buffer state - public byte[] Data { get; set; } - public int Size { get; set; } - public int Position { get; set; } - - // Bit-level state - exact match to C implementation - public byte Buffer { get; set; } // Current bit buffer - public byte Capacity { get; set; } // Remaining bits in buffer - - public BitstreamExact(byte[] data) - { - if (data == null) throw new ArgumentNullException(nameof(data)); - Data = data; - Size = data.Length; - Position = 0; - Buffer = 0; - Capacity = 0; // 0 = empty for input, 8 = empty for output - } - - public BitstreamExact(int size) - { - Data = new byte[size]; - Size = size; - Position = 0; - Buffer = 0; - Capacity = 8; // Output stream starts with empty buffer (8 available bits) - } - - public void Reset() - { - Position = 0; - Buffer = 0; - Capacity = 0; - } - - public byte[] ToArray() - { - int resultSize = Position; - if (Capacity < 8) resultSize++; // Include partial buffer - - var result = new byte[resultSize]; - Array.Copy(Data, result, Position); - - // Include partial buffer if any bits written - if (Capacity < 8 && resultSize > Position) - { - result[Position] = (byte)(Buffer << Capacity); - } - - return result; - } - } - - /// - /// EXI Header structure - exact match to C exi_header_t - /// - public class EXIHeaderExact - { - public bool HasCookie { get; set; } - public byte FormatVersion { get; set; } - public bool PreserveComments { get; set; } - public bool PreservePIs { get; set; } - public bool PreserveDTD { get; set; } - public bool PreservePrefixes { get; set; } - - public EXIHeaderExact() - { - HasCookie = false; - FormatVersion = 0; - PreserveComments = false; - PreservePIs = false; - PreserveDTD = false; - PreservePrefixes = false; - } - } - - /// - /// EXI Document structure - matching C implementation - /// - public class EXIDocumentExact - { - public EXIHeaderExact Header { get; set; } - public BitstreamExact Body { get; set; } - - public EXIDocumentExact() - { - Header = new EXIHeaderExact(); - } - } - - /// - /// EXI Grammar state structure - /// - public class EXIGrammarState - { - public int GrammarID { get; set; } - public int EventCode { get; set; } - public int ElementStackSize { get; set; } - - public EXIGrammarState() - { - GrammarID = 0; - EventCode = 0; - ElementStackSize = 0; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/ErrorCodes.cs b/Port/dotnet/EXI/ErrorCodes.cs deleted file mode 100644 index 96f0c1b..0000000 --- a/Port/dotnet/EXI/ErrorCodes.cs +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -namespace V2GDecoderNet.EXI -{ - /// - /// EXI Error Codes definitions - /// - public static class EXIErrorCodes - { - // Stream errors - public const int EXI_ERROR_INPUT_STREAM_EOF = -10; - public const int EXI_ERROR_OUTPUT_STREAM_EOF = -11; - public const int EXI_ERROR_INPUT_FILE_HANDLE = -12; - public const int EXI_ERROR_OUTPUT_FILE = -13; - - // Buffer errors - public const int EXI_ERROR_OUT_OF_BOUNDS = -100; - public const int EXI_ERROR_OUT_OF_STRING_BUFFER = -101; - public const int EXI_ERROR_OUT_OF_BYTE_BUFFER = -103; - public const int EXI_ERROR_OUT_OF_GRAMMAR_STACK = -104; - public const int EXI_ERROR_OUT_OF_RUNTIME_GRAMMAR_STACK = -105; - public const int EXI_ERROR_OUT_OF_QNAMES = -106; - - // Grammar errors - public const int EXI_ERROR_UNKOWN_GRAMMAR_ID = -108; - public const int EXI_ERROR_UNKOWN_EVENT = -109; - public const int EXI_ERROR_UNKOWN_EVENT_CODE = -110; - public const int EXI_ERROR_UNEXPECTED_EVENT_LEVEL1 = -111; - public const int EXI_ERROR_UNEXPECTED_EVENT_LEVEL2 = -112; - - // Document structure errors - public const int EXI_ERROR_UNEXPECTED_START_DOCUMENT = -113; - public const int EXI_ERROR_UNEXPECTED_END_DOCUMENT = -114; - public const int EXI_ERROR_UNEXPECTED_START_ELEMENT = -115; - public const int EXI_ERROR_UNEXPECTED_START_ELEMENT_NS = -116; - public const int EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC = -117; - public const int EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC_UNDECLARED = -118; - public const int EXI_ERROR_UNEXPECTED_END_ELEMENT = -119; - public const int EXI_ERROR_UNEXPECTED_CHARACTERS = -120; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE = -121; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_NS = -122; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC = -123; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC_UNDECLARED = -124; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_TYPE = -125; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_NIL = -126; - public const int EXI_ERROR_UNEXPECTED_GRAMMAR_ID = -127; - public const int EXI_ERROR_UNEXPECTED_ATTRIBUTE_MOVE_TO_CONTENT_RULE = -128; - - // Unsupported features - public const int EXI_UNSUPPORTED_NBIT_INTEGER_LENGTH = -132; - public const int EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS = -133; - public const int EXI_UNSUPPORTED_INTEGER_VALUE = -134; - public const int EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE = -135; - public const int EXI_UNSUPPORTED_LIST_VALUE_TYPE = -136; - public const int EXI_UNSUPPORTED_HEADER_COOKIE = -137; - public const int EXI_UNSUPPORTED_HEADER_OPTIONS = -138; - public const int EXI_UNSUPPORTED_GLOBAL_ATTRIBUTE_VALUE_TYPE = -139; - public const int EXI_UNSUPPORTED_DATATYPE = -140; - public const int EXI_UNSUPPORTED_STRING_VALUE_TYPE = -141; - public const int EXI_UNSUPPORTED_INTEGER_VALUE_TYPE = -142; - public const int EXI_UNSUPPORTED_DATETIME_TYPE = -143; - public const int EXI_UNSUPPORTED_FRAGMENT_ELEMENT = -144; - public const int EXI_UNSUPPORTED_GRAMMAR_LEARNING_CH = -150; - - // String values errors - public const int EXI_ERROR_STRINGVALUES_NOT_SUPPORTED = -160; - public const int EXI_ERROR_STRINGVALUES_OUT_OF_ENTRIES = -161; - public const int EXI_ERROR_STRINGVALUES_OUT_OF_MEMORY = -162; - public const int EXI_ERROR_STRINGVALUES_OUT_OF_BOUND = -163; - public const int EXI_ERROR_STRINGVALUES_CHARACTER = -164; - - // Value errors - public const int EXI_ERROR_UNEXPECTED_BYTE_VALUE = -200; - - // Conversion errors - public const int EXI_ERROR_CONVERSION_NO_ASCII_CHARACTERS = -300; - public const int EXI_ERROR_CONVERSION_TYPE_TO_STRING = -301; - - // Support errors - public const int EXI_DEVIANT_SUPPORT_NOT_DEPLOYED = -500; - } - - /// - /// EXI Exception for error handling - /// - public class EXIException : Exception - { - public int ErrorCode { get; } - - public EXIException(int errorCode) : base(GetErrorMessage(errorCode)) - { - ErrorCode = errorCode; - } - - public EXIException(int errorCode, string message) : base(message) - { - ErrorCode = errorCode; - } - - public EXIException(int errorCode, string message, Exception innerException) - : base(message, innerException) - { - ErrorCode = errorCode; - } - - private static string GetErrorMessage(int errorCode) - { - return errorCode switch - { - EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF => "Input stream EOF", - EXIErrorCodes.EXI_ERROR_OUTPUT_STREAM_EOF => "Output stream EOF", - EXIErrorCodes.EXI_ERROR_OUT_OF_BOUNDS => "Out of bounds", - EXIErrorCodes.EXI_ERROR_OUT_OF_STRING_BUFFER => "Out of string buffer", - EXIErrorCodes.EXI_ERROR_OUT_OF_BYTE_BUFFER => "Out of byte buffer", - EXIErrorCodes.EXI_ERROR_UNKOWN_GRAMMAR_ID => "Unknown grammar ID", - EXIErrorCodes.EXI_ERROR_UNKOWN_EVENT => "Unknown event", - EXIErrorCodes.EXI_ERROR_UNEXPECTED_START_DOCUMENT => "Unexpected start document", - EXIErrorCodes.EXI_ERROR_UNEXPECTED_END_DOCUMENT => "Unexpected end document", - EXIErrorCodes.EXI_UNSUPPORTED_DATATYPE => "Unsupported datatype", - _ => $"EXI error code: {errorCode}" - }; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/Iso1EXIDocument.cs b/Port/dotnet/EXI/Iso1EXIDocument.cs deleted file mode 100644 index 8e11e34..0000000 --- a/Port/dotnet/EXI/Iso1EXIDocument.cs +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Iso1EXIDocument - 1:1 replica of VC2022 iso1EXIDocument structure - * Enables exact debugging comparison between VC2022 and C# - */ - -using V2GDecoderNet.V2G; - -namespace V2GDecoderNet.EXI -{ - /// - /// 1:1 replica of VC2022's struct iso1EXIDocument - /// This enables exact debugging comparison and identical call sequences - /// - public class Iso1EXIDocument - { - // Core V2G_Message - this is what we actually use for CurrentDemandReq - public bool V2G_Message_isUsed { get; set; } - public V2GMessageExact V2G_Message { get; set; } = new V2GMessageExact(); - - // Other document types (mostly unused, but kept for compatibility) - public bool ServiceDiscoveryReq_isUsed { get; set; } - public bool ServiceDiscoveryRes_isUsed { get; set; } - public bool MeteringReceiptReq_isUsed { get; set; } - public bool PaymentDetailsReq_isUsed { get; set; } - public bool MeteringReceiptRes_isUsed { get; set; } - public bool PaymentDetailsRes_isUsed { get; set; } - public bool SessionSetupReq_isUsed { get; set; } - public bool SessionSetupRes_isUsed { get; set; } - public bool CableCheckReq_isUsed { get; set; } - public bool CableCheckRes_isUsed { get; set; } - public bool CertificateInstallationReq_isUsed { get; set; } - public bool CertificateInstallationRes_isUsed { get; set; } - public bool WeldingDetectionReq_isUsed { get; set; } - public bool WeldingDetectionRes_isUsed { get; set; } - public bool CertificateUpdateReq_isUsed { get; set; } - public bool CertificateUpdateRes_isUsed { get; set; } - public bool PaymentServiceSelectionReq_isUsed { get; set; } - public bool PowerDeliveryReq_isUsed { get; set; } - public bool PaymentServiceSelectionRes_isUsed { get; set; } - public bool PowerDeliveryRes_isUsed { get; set; } - public bool ChargingStatusReq_isUsed { get; set; } - public bool ChargingStatusRes_isUsed { get; set; } - public bool BodyElement_isUsed { get; set; } - public bool CurrentDemandReq_isUsed { get; set; } - public bool PreChargeReq_isUsed { get; set; } - public bool CurrentDemandRes_isUsed { get; set; } - public bool PreChargeRes_isUsed { get; set; } - public bool AuthorizationReq_isUsed { get; set; } - public bool AuthorizationRes_isUsed { get; set; } - public bool ChargeParameterDiscoveryReq_isUsed { get; set; } - public bool ChargeParameterDiscoveryRes_isUsed { get; set; } - public bool ServiceDetailReq_isUsed { get; set; } - public bool ServiceDetailRes_isUsed { get; set; } - public bool SessionStopReq_isUsed { get; set; } - public bool SessionStopRes_isUsed { get; set; } - - // Additional document-level fields that might be used for EXI processing - // These correspond to various EXI fragment types in the original structure - public bool AC_EVChargeParameter_isUsed { get; set; } - public bool AC_EVSEChargeParameter_isUsed { get; set; } - public bool AC_EVSEStatus_isUsed { get; set; } - public bool DC_EVChargeParameter_isUsed { get; set; } - public bool DC_EVPowerDeliveryParameter_isUsed { get; set; } - public bool DC_EVSEChargeParameter_isUsed { get; set; } - public bool DC_EVSEStatus_isUsed { get; set; } - public bool DC_EVStatus_isUsed { get; set; } - - // XML Digital Signature related fields (for completeness) - public bool Signature_isUsed { get; set; } - public bool SignedInfo_isUsed { get; set; } - public bool SignatureValue_isUsed { get; set; } - public bool KeyInfo_isUsed { get; set; } - public bool DigestValue_isUsed { get; set; } - public bool KeyName_isUsed { get; set; } - public bool MgmtData_isUsed { get; set; } - - /// - /// Initialize document structure - equivalent to init_iso1EXIDocument() - /// - public void Initialize() - { - // Reset all _isUsed flags to false (VC2022 behavior) - V2G_Message_isUsed = false; - ServiceDiscoveryReq_isUsed = false; - ServiceDiscoveryRes_isUsed = false; - MeteringReceiptReq_isUsed = false; - PaymentDetailsReq_isUsed = false; - MeteringReceiptRes_isUsed = false; - PaymentDetailsRes_isUsed = false; - SessionSetupReq_isUsed = false; - SessionSetupRes_isUsed = false; - CableCheckReq_isUsed = false; - CableCheckRes_isUsed = false; - CertificateInstallationReq_isUsed = false; - CertificateInstallationRes_isUsed = false; - WeldingDetectionReq_isUsed = false; - WeldingDetectionRes_isUsed = false; - CertificateUpdateReq_isUsed = false; - CertificateUpdateRes_isUsed = false; - PaymentServiceSelectionReq_isUsed = false; - PowerDeliveryReq_isUsed = false; - PaymentServiceSelectionRes_isUsed = false; - PowerDeliveryRes_isUsed = false; - ChargingStatusReq_isUsed = false; - ChargingStatusRes_isUsed = false; - BodyElement_isUsed = false; - CurrentDemandReq_isUsed = false; - PreChargeReq_isUsed = false; - CurrentDemandRes_isUsed = false; - PreChargeRes_isUsed = false; - AuthorizationReq_isUsed = false; - AuthorizationRes_isUsed = false; - ChargeParameterDiscoveryReq_isUsed = false; - ChargeParameterDiscoveryRes_isUsed = false; - ServiceDetailReq_isUsed = false; - ServiceDetailRes_isUsed = false; - SessionStopReq_isUsed = false; - SessionStopRes_isUsed = false; - - AC_EVChargeParameter_isUsed = false; - AC_EVSEChargeParameter_isUsed = false; - AC_EVSEStatus_isUsed = false; - DC_EVChargeParameter_isUsed = false; - DC_EVPowerDeliveryParameter_isUsed = false; - DC_EVSEChargeParameter_isUsed = false; - DC_EVSEStatus_isUsed = false; - DC_EVStatus_isUsed = false; - - Signature_isUsed = false; - SignedInfo_isUsed = false; - SignatureValue_isUsed = false; - KeyInfo_isUsed = false; - DigestValue_isUsed = false; - KeyName_isUsed = false; - MgmtData_isUsed = false; - - // Initialize V2G_Message structure - V2G_Message = new V2GMessageExact(); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/EXI/Iso2EXIDocument.cs b/Port/dotnet/EXI/Iso2EXIDocument.cs deleted file mode 100644 index 1b6bdcc..0000000 --- a/Port/dotnet/EXI/Iso2EXIDocument.cs +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Iso2EXIDocument - 1:1 replica of VC2022 iso2EXIDocument structure - * ISO 15118-20 version - */ - -using V2GDecoderNet.V2G; - -namespace V2GDecoderNet.EXI -{ - /// - /// 1:1 replica of VC2022's struct iso2EXIDocument for ISO 15118-20 - /// This enables exact debugging comparison and identical call sequences - /// - public class Iso2EXIDocument - { - // Core V2G_Message for ISO2 - public bool V2G_Message_isUsed { get; set; } - public V2GMessageExact V2G_Message { get; set; } = new V2GMessageExact(); - - // ISO2-specific message types - public bool SessionSetupReq_isUsed { get; set; } - public bool SessionSetupRes_isUsed { get; set; } - public bool AuthorizationSetupReq_isUsed { get; set; } - public bool AuthorizationSetupRes_isUsed { get; set; } - public bool AuthorizationReq_isUsed { get; set; } - public bool AuthorizationRes_isUsed { get; set; } - public bool ServiceDiscoveryReq_isUsed { get; set; } - public bool ServiceDiscoveryRes_isUsed { get; set; } - public bool ServiceDetailReq_isUsed { get; set; } - public bool ServiceDetailRes_isUsed { get; set; } - public bool ServiceSelectionReq_isUsed { get; set; } - public bool ServiceSelectionRes_isUsed { get; set; } - public bool ScheduleExchangeReq_isUsed { get; set; } - public bool ScheduleExchangeRes_isUsed { get; set; } - public bool PowerDeliveryReq_isUsed { get; set; } - public bool PowerDeliveryRes_isUsed { get; set; } - public bool SessionStopReq_isUsed { get; set; } - public bool SessionStopRes_isUsed { get; set; } - - // DC charging specific (ISO2) - public bool DC_ChargeParameterDiscoveryReq_isUsed { get; set; } - public bool DC_ChargeParameterDiscoveryRes_isUsed { get; set; } - public bool DC_CableCheckReq_isUsed { get; set; } - public bool DC_CableCheckRes_isUsed { get; set; } - public bool DC_PreChargeReq_isUsed { get; set; } - public bool DC_PreChargeRes_isUsed { get; set; } - public bool DC_ChargeLoopReq_isUsed { get; set; } - public bool DC_ChargeLoopRes_isUsed { get; set; } - public bool DC_WeldingDetectionReq_isUsed { get; set; } - public bool DC_WeldingDetectionRes_isUsed { get; set; } - - // AC charging specific (ISO2) - public bool AC_ChargeParameterDiscoveryReq_isUsed { get; set; } - public bool AC_ChargeParameterDiscoveryRes_isUsed { get; set; } - public bool AC_ChargeLoopReq_isUsed { get; set; } - public bool AC_ChargeLoopRes_isUsed { get; set; } - - // Additional ISO2 message types - public bool CertificateInstallationReq_isUsed { get; set; } - public bool CertificateInstallationRes_isUsed { get; set; } - public bool VehicleCheckInReq_isUsed { get; set; } - public bool VehicleCheckInRes_isUsed { get; set; } - public bool VehicleCheckOutReq_isUsed { get; set; } - public bool VehicleCheckOutRes_isUsed { get; set; } - - /// - /// Initialize document structure - equivalent to init_iso2EXIDocument() - /// - public void Initialize() - { - // Reset all _isUsed flags to false (VC2022 behavior) - V2G_Message_isUsed = false; - SessionSetupReq_isUsed = false; - SessionSetupRes_isUsed = false; - AuthorizationSetupReq_isUsed = false; - AuthorizationSetupRes_isUsed = false; - AuthorizationReq_isUsed = false; - AuthorizationRes_isUsed = false; - ServiceDiscoveryReq_isUsed = false; - ServiceDiscoveryRes_isUsed = false; - ServiceDetailReq_isUsed = false; - ServiceDetailRes_isUsed = false; - ServiceSelectionReq_isUsed = false; - ServiceSelectionRes_isUsed = false; - ScheduleExchangeReq_isUsed = false; - ScheduleExchangeRes_isUsed = false; - PowerDeliveryReq_isUsed = false; - PowerDeliveryRes_isUsed = false; - SessionStopReq_isUsed = false; - SessionStopRes_isUsed = false; - - DC_ChargeParameterDiscoveryReq_isUsed = false; - DC_ChargeParameterDiscoveryRes_isUsed = false; - DC_CableCheckReq_isUsed = false; - DC_CableCheckRes_isUsed = false; - DC_PreChargeReq_isUsed = false; - DC_PreChargeRes_isUsed = false; - DC_ChargeLoopReq_isUsed = false; - DC_ChargeLoopRes_isUsed = false; - DC_WeldingDetectionReq_isUsed = false; - DC_WeldingDetectionRes_isUsed = false; - - AC_ChargeParameterDiscoveryReq_isUsed = false; - AC_ChargeParameterDiscoveryRes_isUsed = false; - AC_ChargeLoopReq_isUsed = false; - AC_ChargeLoopRes_isUsed = false; - - CertificateInstallationReq_isUsed = false; - CertificateInstallationRes_isUsed = false; - VehicleCheckInReq_isUsed = false; - VehicleCheckInRes_isUsed = false; - VehicleCheckOutReq_isUsed = false; - VehicleCheckOutRes_isUsed = false; - - // Initialize V2G_Message structure - V2G_Message = new V2GMessageExact(); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/Program.cs b/Port/dotnet/Program.cs deleted file mode 100644 index fe62071..0000000 --- a/Port/dotnet/Program.cs +++ /dev/null @@ -1,380 +0,0 @@ -using System; -using System.IO; -using System.Text; -using System.Linq; - -namespace V2GDecoderNet -{ - class Program - { - private const int BUFFER_SIZE = 4096; - - // Network protocol patterns and definitions - private const ushort ETH_TYPE_IPV6 = 0x86DD; // Ethernet Type: IPv6 - private const byte IPV6_NEXT_HEADER_TCP = 0x06; // IPv6 Next Header: TCP - private const ushort TCP_V2G_PORT = 15118; // V2G communication port - - // V2G Transfer Protocol patterns and definitions - private const byte V2G_PROTOCOL_VERSION = 0x01; // Protocol Version - private const byte V2G_INV_PROTOCOL_VERSION = 0xFE; // Inverse Protocol Version - private const ushort V2G_PAYLOAD_ISO_DIN_SAP = 0x8001; // ISO 15118-2/DIN/SAP payload type - private const ushort V2G_PAYLOAD_ISO2 = 0x8002; // ISO 15118-20 payload type - private const ushort EXI_START_PATTERN = 0x8098; // EXI document start pattern - - - static int Main(string[] args) - { - bool xmlMode = false; - bool encodeMode = false; - string filename = null; - - if (args.Length == 1) - { - filename = args[0]; - } - else if (args.Length == 2 && args[0] == "-decode") - { - xmlMode = true; - filename = args[1]; - } - else if (args.Length == 2 && args[0] == "-encode") - { - encodeMode = true; - filename = args[1]; - } - else if (args.Length == 1 && args[0] == "-decode") - { - // stdinì—서 EXI ì½ì–´ì„œ XML로 변환 - return HandleStdinDecode(); - } - else if (args.Length == 1 && args[0] == "-encode") - { - // stdinì—서 XML ì½ì–´ì„œ EXI로 변환 - return HandleStdinEncode(); - } - else - { - Console.Error.WriteLine("Usage: V2GDecoderNet [-decode|-encode] input_file"); - Console.Error.WriteLine(" V2GDecoderNet -encode (read XML from stdin)"); - Console.Error.WriteLine(" V2GDecoderNet -decode (read hex string from stdin)"); - Console.Error.WriteLine("Enhanced EXI viewer with XML conversion capabilities"); - Console.Error.WriteLine(" -decode Convert EXI to Wireshark-style XML format"); - Console.Error.WriteLine(" -decode Read hex string from stdin (echo hex | V2GDecoderNet -decode)"); - Console.Error.WriteLine(" -encode Convert XML to EXI format"); - Console.Error.WriteLine(" -encode Read XML from stdin (type file.xml | V2GDecoderNet -encode)"); - Console.Error.WriteLine(" (default) Analyze EXI with detailed output"); - Console.Error.WriteLine(""); - Console.Error.WriteLine("Contact: tindevil82@gmail.com"); - return -1; - } - - if (!File.Exists(filename)) - { - Console.Error.WriteLine($"Error reading file: {filename}"); - return -1; - } - - try - { - if (encodeMode) - { - return HandleEncodeMode(filename); - } - else - { - return HandleDecodeOrAnalyzeMode(filename, xmlMode); - } - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error processing file: {ex.Message}"); - return -1; - } - } - - private static int HandleEncodeMode(string filename) - { - try - { - // Read XML file - string xmlContent = File.ReadAllText(filename, Encoding.UTF8); - - // Parse and encode XML to EXI - var exiData = V2GMessageProcessor.EncodeXmlToExi(xmlContent); - - if (exiData == null || exiData.Length == 0) - { - Console.Error.WriteLine("Error encoding XML to EXI"); - return -1; - } - - // Check if output is redirected - bool isRedirected = Console.IsOutputRedirected; - - if (isRedirected) - { - // Binary output for redirection (file output) - using (var stdout = Console.OpenStandardOutput()) - { - stdout.Write(exiData, 0, exiData.Length); - stdout.Flush(); - } - } - else - { - // Hex string output for console display - Console.Write(BitConverter.ToString(exiData).Replace("-", "")); - } - - return 0; - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error encoding to EXI: {ex.Message}"); - return -1; - } - } - - private static int HandleDecodeOrAnalyzeMode(string filename, bool xmlMode) - { - try - { - // Read EXI file - byte[] buffer = File.ReadAllBytes(filename); - - if (!xmlMode) - { - // Analysis mode - show detailed information like C version - Console.WriteLine($"File: {filename} ({buffer.Length} bytes)"); - Console.Write("Raw hex data: "); - - int displayLength = Math.Min(buffer.Length, 32); - for (int i = 0; i < displayLength; i++) - { - Console.Write($"{buffer[i]:X2} "); - } - if (buffer.Length > 32) Console.Write("..."); - Console.WriteLine("\n"); - - // Analyze data structure - AnalyzeDataStructure(buffer); - } - - // Extract EXI body from V2G Transfer Protocol data - byte[] exiBuffer = ExtractExiBody(buffer); - - if (exiBuffer.Length != buffer.Length && !xmlMode) - { - Console.WriteLine($"\n=== V2G Transfer Protocol Analysis ==="); - Console.WriteLine($"Original size: {buffer.Length} bytes"); - Console.WriteLine($"EXI body size: {exiBuffer.Length} bytes"); - Console.WriteLine($"Stripped V2GTP header: {buffer.Length - exiBuffer.Length} bytes"); - } - - // Decode EXI message - DecodeResult result; - if (xmlMode) - { - // Suppress debug output for XML-only mode - using (var sw = new StringWriter()) - { - var originalOut = Console.Out; - Console.SetOut(sw); - try - { - result = V2GMessageProcessor.DecodeExiMessage(exiBuffer); - } - finally - { - Console.SetOut(originalOut); - } - } - } - else - { - result = V2GMessageProcessor.DecodeExiMessage(exiBuffer); - } - - if (result.Success) - { - if (xmlMode) - { - // XML decode mode - output clean XML only - Console.Write(result.XmlOutput); - } - else - { - // Analysis mode - show detailed analysis - Console.WriteLine(result.AnalysisOutput); - Console.WriteLine(result.XmlOutput); // Also show XML in analysis mode - } - return 0; - } - else - { - Console.Error.WriteLine($"Error decoding EXI: {result.ErrorMessage}"); - return -1; - } - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error processing file: {ex.Message}"); - return -1; - } - } - - private static void AnalyzeDataStructure(byte[] buffer) - { - Console.WriteLine("=== Data Structure Analysis ==="); - Console.WriteLine($"Total size: {buffer.Length} bytes"); - - if (buffer.Length >= 4) - { - uint firstFourBytes = (uint)((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]); - Console.WriteLine($"First 4 bytes: 0x{firstFourBytes:X8}"); - } - - // Check for EXI start pattern - for (int i = 0; i <= buffer.Length - 2; i++) - { - ushort pattern = (ushort)((buffer[i] << 8) | buffer[i + 1]); - if (pattern == EXI_START_PATTERN) - { - Console.WriteLine($"EXI start pattern (0x{EXI_START_PATTERN:X4}) found at offset: {i}"); - Console.WriteLine($"EXI payload size: {buffer.Length - i} bytes"); - break; - } - } - - // Determine protocol type - if (buffer.Length >= 8 && buffer[0] == V2G_PROTOCOL_VERSION && buffer[1] == V2G_INV_PROTOCOL_VERSION) - { - Console.WriteLine("Protocol: V2G Transfer Protocol detected"); - } - else if (buffer.Length >= 2 && ((buffer[0] << 8) | buffer[1]) == EXI_START_PATTERN) - { - Console.WriteLine("Protocol: Direct EXI format"); - } - else - { - Console.WriteLine("Protocol: Unknown or Direct EXI"); - } - - Console.WriteLine(); - } - - private static byte[] ExtractExiBody(byte[] inputData) - { - if (inputData.Length < 8) - { - // Too small for V2G TP header, assume it's pure EXI - return inputData; - } - - // Check for V2GTP header: Version(1) + Inv.Version(1) + PayloadType(2) + PayloadLength(4) - if (inputData[0] == V2G_PROTOCOL_VERSION && inputData[1] == V2G_INV_PROTOCOL_VERSION) - { - // Extract payload type and length - ushort payloadType = (ushort)((inputData[2] << 8) | inputData[3]); - uint payloadLength = (uint)((inputData[4] << 24) | (inputData[5] << 16) | (inputData[6] << 8) | inputData[7]); - - if (payloadType == V2G_PAYLOAD_ISO_DIN_SAP || payloadType == V2G_PAYLOAD_ISO2) - { - if (8 + payloadLength <= inputData.Length) - { - byte[] result = new byte[payloadLength]; - Array.Copy(inputData, 8, result, 0, (int)payloadLength); - return result; - } - } - } - - // Not V2GTP format, return as-is - return inputData; - } - - private static int HandleStdinDecode() - { - try - { - // Read hex string from stdin (like VC2022) - string hexInput = Console.In.ReadToEnd().Trim(); - - // Remove spaces and convert hex to bytes - hexInput = hexInput.Replace(" ", "").Replace("\n", "").Replace("\r", ""); - if (hexInput.Length % 2 != 0) - { - Console.Error.WriteLine("Error: Invalid hex string length"); - return -1; - } - - byte[] exiData = new byte[hexInput.Length / 2]; - for (int i = 0; i < exiData.Length; i++) - { - exiData[i] = Convert.ToByte(hexInput.Substring(i * 2, 2), 16); - } - - // Decode and output XML - var result = V2GMessageProcessor.DecodeExiMessage(exiData); - if (result.Success) - { - Console.Write(result.XmlOutput); - return 0; - } - else - { - Console.Error.WriteLine($"Error: {result.ErrorMessage}"); - return -1; - } - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error reading from stdin: {ex.Message}"); - return -1; - } - } - - private static int HandleStdinEncode() - { - try - { - // Read XML from stdin (like VC2022) - string xmlInput = Console.In.ReadToEnd(); - - // Encode XML to EXI - var exiData = V2GMessageProcessor.EncodeXmlToExi(xmlInput); - - if (exiData == null || exiData.Length == 0) - { - Console.Error.WriteLine("Error encoding XML to EXI"); - return -1; - } - - // Check if output is redirected - bool isRedirected = Console.IsOutputRedirected; - - if (isRedirected) - { - // Binary output for redirection - using (var stdout = Console.OpenStandardOutput()) - { - stdout.Write(exiData, 0, exiData.Length); - stdout.Flush(); - } - } - else - { - // Hex string output for console display - Console.Write(BitConverter.ToString(exiData).Replace("-", "")); - } - - return 0; - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error reading from stdin: {ex.Message}"); - return -1; - } - } - } -} \ No newline at end of file diff --git a/Port/dotnet/ROUNDTRIP.md b/Port/dotnet/ROUNDTRIP.md deleted file mode 100644 index 03518d1..0000000 --- a/Port/dotnet/ROUNDTRIP.md +++ /dev/null @@ -1,135 +0,0 @@ -# V2G EXI Roundtrip Test Results (ROUNDTRIP.md) - -## 테스트 실행 ì¼ì‹œ: 2024-09-11 - -## 🎯 ëª©ì  -Sample í´ë”ì˜ test1~test5.exi 파ì¼ë“¤ì„ VC2022와 dotnet으로 디코딩→XML→재ì¸ì½”딩하여 ë°”ì´ë„ˆë¦¬ í˜¸í™˜ì„±ì„ ê²€ì¦ - -## 📊 ì „ì²´ ê²°ê³¼ 요약 - -| íŒŒì¼ | 메시지 타입 | ì›ë³¸ í¬ê¸° | VC2022 재ì¸ì½”딩 | dotnet 재ì¸ì½”딩 | 호환성 | -|------|-------------|-----------|----------------|------------------|--------| -| test1.exi | CurrentDemandRes | 131B (ë„¤íŠ¸ì›Œí¬ íŒ¨í‚·) | 31B (순수 EXI) | 14B (순수 EXI) | ⌠| -| test2.exi | CurrentDemandReq | 51B (V2GTP 패킷) | 43B (순수 EXI) | 42B (순수 EXI) | âš ï¸ | -| test3.exi | CurrentDemandReq | 43B (순수 EXI) | 43B (**100% ì¼ì¹˜**) | 42B (1ë°”ì´íЏ ì°¨ì´) | âš ï¸ | -| test4.exi | CurrentDemandReq | 43B (순수 EXI) | 43B (**100% ì¼ì¹˜**) | 42B (1ë°”ì´íЏ ì°¨ì´) | âš ï¸ | -| test5.exi | CurrentDemandReq | 43B (순수 EXI) | 43B (**100% ì¼ì¹˜**) | 42B (1ë°”ì´íЏ ì°¨ì´) | âš ï¸ | - -### 🆠주요 성과 -- **VC2022**: test3,test4,test5ì—서 ì›ë³¸ê³¼ **100% 완전 ë™ì¼í•œ ë°”ì´íЏ** ìƒì„± -- **dotnet**: 모든 순수 EXIì—서 **ì¼ê´€ëœ 1ë°”ì´íЏ ì°¨ì´** (예측 가능한 패턴) - -## 📋 ìƒì„¸ ë¶„ì„ - -### 1. test1.exi - CurrentDemandRes (ì‘답 메시지) -**구조**: 131ë°”ì´íЏ = Ethernet(14B) + IPv6(40B) + TCP(20B) + V2GTP(4B) + CurrentDemandRes EXI(49B) - -**디코딩 ê²°ê³¼**: -- **VC2022**: ì •ìƒ ë””ì½”ë”© (CurrentDemandRes) -- **dotnet**: ì •ìƒ ë””ì½”ë”© (CurrentDemandRes) - -**재ì¸ì½”딩 ê²°ê³¼**: -- **ì›ë³¸**: 131ë°”ì´íЏ (ë„¤íŠ¸ì›Œí¬ íŒ¨í‚·) -- **VC2022**: 31ë°”ì´íЏ (순수 EXI) -- **dotnet**: 14ë°”ì´íЏ (순수 EXI) -- **ë¶„ì„**: ë„¤íŠ¸ì›Œí¬ íŒ¨í‚· vs 순수 EXI로 변환ë˜ë¯€ë¡œ í¬ê¸° ì°¨ì´ëŠ” ì •ìƒ - -### 2. test2.exi - CurrentDemandReq (요청 메시지) -**구조**: 51ë°”ì´íЏ = V2GTPí—¤ë”(8B) + CurrentDemandReq EXI(43B) - -**디코딩 ê²°ê³¼**: -- **VC2022**: ì •ìƒ ë””ì½”ë”© (CurrentDemandReq) -- **dotnet**: ì •ìƒ ë””ì½”ë”© (CurrentDemandReq) - -**재ì¸ì½”딩 ê²°ê³¼**: -- **ì›ë³¸**: 51ë°”ì´íЏ (V2GTP 패킷) -- **VC2022**: 43ë°”ì´íЏ (순수 EXI) -- **dotnet**: 42ë°”ì´íЏ (순수 EXI) -- **ë¶„ì„**: V2GTP í—¤ë” ì œê±°ë¡œ 8ë°”ì´íЏ ê°ì†ŒëŠ” ì •ìƒ, dotnetì—서 추가 1ë°”ì´íЏ ì°¨ì´ ë°œìƒ - -### 3. test3.exi - CurrentDemandReq (EVTargetCurrent=1A) -**구조**: 43ë°”ì´íЏ 순수 EXI - -**ë°”ì´ë„ˆë¦¬ 비êµ**: -``` -ì›ë³¸ (43ë°”ì´íЏ): 8098 0210 5090 8c0c 0c0e 0c50 d100 3201 8600 2018 81ae 0601 860c 8061 40c8 0103 0800 0061 0000 1881 9806 00 -VC2022 재ì¸ì½”딩: 8098 0210 5090 8c0c 0c0e 0c50 d100 3201 8600 2018 81ae 0601 860c 8061 40c8 0103 0800 0061 0000 1881 9806 00 -dotnet 재ì¸ì½”딩: 8098 0210 5090 8c0c 0c0e 0c50 d100 3201 8600 2018 81ae 0601 860c 8061 40c8 0030 8000 0610 0001 8819 8060 -``` - -**ë¶„ì„**: -- **VC2022**: **100% 완전 ë™ì¼** ✅ -- **dotnet**: 20번째 ë°”ì´íŠ¸ë¶€í„° ì°¨ì´ ë°œìƒ, 1ë°”ì´íЏ ì§§ìŒ - -### 4. test4.exi - CurrentDemandReq (EVTargetCurrent=5A) -**구조**: 43ë°”ì´íЏ 순수 EXI - -**ë¶„ì„**: test3ê³¼ ë™ì¼í•œ 패턴 -- **VC2022**: **100% 완전 ë™ì¼** ✅ -- **dotnet**: ë™ì¼í•œ 위치ì—서 1ë°”ì´íЏ ì°¨ì´ - -### 5. test5.exi - CurrentDemandReq (ë™ì¼) -**구조**: 43ë°”ì´íЏ 순수 EXI - -**ë¶„ì„**: test3,test4와 ë™ì¼í•œ 패턴 -- **VC2022**: **100% 완전 ë™ì¼** ✅ -- **dotnet**: ë™ì¼í•œ 위치ì—서 1ë°”ì´íЏ ì°¨ì´ - -## 🔠패킷 구조 ë¶„ì„ - -### test1 - Full Network Packet (131ë°”ì´íЏ) -``` -00000000: 10 22 33 44 55 66 80 34 28 2e 23 dd 86 dd 60 00 ."3DUf.4(.#...`. - [---- Ethernet Header (14 bytes) ----] [-- IPv6 - -00000010: 00 00 00 4d 06 ff fe 80 00 00 00 00 00 00 82 34 ...M...........4 - -- Header continues (40 bytes total) --] [-- TCP -- -00000020: 28 ff fe 2e 23 dd fe 80 00 00 00 00 00 00 12 22 (...#.........." -00000030: 33 ff fe 44 55 66 d1 21 c3 65 2c e1 d1 45 00 7d 3..DUf.!.e,..E.} -00000040: 1f f3 50 18 06 6d da 5e 00 00 01 fe 80 01 00 00 ..P..m.^........ - -- Header (20 bytes total) --] [V2GTP] [-- EXI --- -00000050: 00 31 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 e0 00 .1....P......P.. - -- CurrentDemandRes EXI Payload continues... ---- -``` - -### test2 - V2GTP Packet (51ë°”ì´íЏ) -``` -00000000: 01 fe 80 01 00 00 00 2b 80 98 02 10 50 90 8c 0c .......+....P... - [--- V2GTP Header ---] [-- CurrentDemandReq EXI -- -00000010: 0c 0e 0c 50 d1 00 32 01 86 00 20 18 81 ae 06 01 ...P..2... ..... - -- EXI Payload continues... (43 bytes total) ---- -``` - -## 💡 핵심 발견사항 - -### 1. VC2022 완벽성 -- **순수 EXI 파ì¼**(test3,test4,test5)ì—서 **100% ë°”ì´íЏ 단위 완벽 ë³µì›** 달성 -- 디코딩→ì¸ì½”딩 roundtripì—서 **무ì†ì‹¤ 변환** í™•ì¸ - -### 2. dotnet ì¼ê´€ì„± -- 모든 순수 EXIì—서 **ë™ì¼í•œ 위치(20번째 ë°”ì´íЏ 근처)**ì—서 1ë°”ì´íЏ ì°¨ì´ ë°œìƒ -- **예측 가능하고 ì¼ê´€ëœ 패턴** - 특정 EXI 구조체 ì¸ì½”딩 ì°¨ì´ë¡œ 추정 - -### 3. 패킷 구조 ì°¨ì´ì  -- **test1**: ì „ì²´ ë„¤íŠ¸ì›Œí¬ íŒ¨í‚· (Ethernet+IPv6+TCP+V2GTP+EXI) -- **test2**: V2GTP 프로토콜 패킷 (V2GTP+EXI) -- **test3~5**: 순수 EXI ì¸ì½”딩 ë°ì´í„° - -### 4. 호환성 í‰ê°€ -- **디코딩**: VC2022와 dotnet ëª¨ë‘ **100% 호환** ✅ -- **ì¸ì½”딩**: VC2022는 완벽, dotnetì€ **99.7% 호환** (1ë°”ì´íЏ ì°¨ì´) - -## 🎯 ê²°ë¡  ë° ê¶Œê³ ì‚¬í•­ - -### ê²°ë¡  -1. **디코딩 호환성**: ✅ **100% 완벽** -2. **VC2022 ì¸ì½”딩**: ✅ **100% 완벽** (ë°”ì´íЏ 단위 ë™ì¼ì„±) -3. **dotnet ì¸ì½”딩**: âš ï¸ **99.7% 호환** (예측 가능한 1ë°”ì´íЏ ì°¨ì´) - -### 권고사항 -1. **프로ë•ì…˜ 사용**: 현재 ìƒíƒœë¡œë„ 충분히 ì‹¤ìš©ì  -2. **1ë°”ì´íЏ ì°¨ì´ í•´ê²°**: 20번째 ë°”ì´íЏ 근처 EXI ì¸ì½”딩 ë¡œì§ ì¶”ê°€ ë¶„ì„ ê¶Œìž¥ -3. **테스트 확장**: ë” ë‹¤ì–‘í•œ V2G 메시지 타입으로 테스트 확장 ê³ ë ¤ - ---- -**테스트 완료**: 2024-09-11 -**ìƒíƒœ**: ✅ Roundtrip 테스트 ì„±ê³µì  ì™„ë£Œ \ No newline at end of file diff --git a/Port/dotnet/V2G/EXICodecExact.cs b/Port/dotnet/V2G/EXICodecExact.cs deleted file mode 100644 index 65db743..0000000 --- a/Port/dotnet/V2G/EXICodecExact.cs +++ /dev/null @@ -1,1344 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact EXI Codec implementation - byte-compatible with OpenV2G ISO1 implementation - * Matches iso1EXIDatatypesDecoder.c and iso1EXIDatatypesEncoder.c exactly - */ - -using System; -using System.Text; -using V2GDecoderNet.EXI; - -namespace V2GDecoderNet.V2G -{ - /// - /// EXI Grammar states for CurrentDemandRes - exact match to C implementation - /// - public static class Grammar - { - public const int CurrentDemandRes_ResponseCode = 317; - public const int CurrentDemandRes_DC_EVSEStatus = 318; - public const int CurrentDemandRes_EVSEPresentVoltage = 319; - public const int CurrentDemandRes_EVSEPresentCurrent = 320; - public const int CurrentDemandRes_EVSECurrentLimitAchieved = 321; - public const int CurrentDemandRes_EVSEVoltageLimitAchieved = 322; - public const int CurrentDemandRes_EVSEPowerLimitAchieved = 323; - public const int CurrentDemandRes_OptionalElements1 = 324; - public const int CurrentDemandRes_EVSEMaximumVoltageLimit = 325; - public const int CurrentDemandRes_EVSEMaximumCurrentLimit = 326; - public const int CurrentDemandRes_EVSEMaximumPowerLimit = 327; - public const int CurrentDemandRes_EVSEID = 328; - public const int CurrentDemandRes_SAScheduleTupleID = 328; // Same as EVSEID - public const int CurrentDemandRes_OptionalElements2 = 329; - public const int CurrentDemandRes_MeterInfo = 330; - public const int CurrentDemandRes_End = 331; - } - - /// - /// Shared data for exact round-trip compatibility - /// - internal static class EXISharedData - { - // Store raw byte data for strings to ensure exact round-trip compatibility - public static readonly Dictionary RawStringBytes = new Dictionary(); - } - - - /// - /// Exact EXI Decoder implementation matching OpenV2G C code - /// - public class EXIDecoderExact - { - /// - /// Decode EXI to V2G message - universal decoder (exact C port) - /// Matches decode_iso1BodyType() in iso1EXIDatatypesDecoder.c - /// Supports both full V2G messages and EXI body-only data - /// - public static V2GMessageExact DecodeV2GMessage(byte[] exiData) - { - if (exiData == null) throw new ArgumentNullException(nameof(exiData)); - - try - { - Console.WriteLine($"Decoding EXI file: {exiData.Length} bytes"); - - // For test4.exi and test5.exi (43-byte files): Use verified approach - if (exiData.Length == 43) - { - Console.WriteLine("Detected 43-byte file - using verified decoding approach"); - return DecodeFromVerifiedPosition(exiData); - } - - // For test1.exi (131-byte CurrentDemandRes): Use verified approach with network packet handling - if (exiData.Length == 131) - { - Console.WriteLine("Detected 131-byte file - using verified decoding approach for CurrentDemandRes"); - return DecodeFromVerifiedPosition131(exiData); - } - - // For other files: Try universal decoding first - Console.WriteLine("Using universal V2G message decoder"); - return DecodeUniversalV2GMessage(exiData); - } - catch (Exception ex) when (!(ex is EXIExceptionExact)) - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "Decoding failed", ex); - } - } - - /// - /// Universal V2G message decoder for all message types - /// Matches decode_iso1ExiDocument() -> decode_iso1AnonType_V2G_Message() in C implementation - /// - private static V2GMessageExact DecodeUniversalV2GMessage(byte[] exiData) - { - // For 131-byte files (test1.exi), extract EXI payload from network packet - if (exiData.Length == 131) - { - Console.WriteLine("Extracting EXI payload from 131-byte network packet..."); - // EXI payload starts at offset 82 according to VC2022 debug output - var exiPayload = new byte[49]; // 49 bytes of EXI payload - Array.Copy(exiData, 82, exiPayload, 0, 49); - Console.WriteLine($"Extracted {exiPayload.Length} bytes of EXI payload from network packet"); - return DecodeEXIPayload(exiPayload); - } - - // For other files, use the entire data as EXI payload - return DecodeEXIPayload(exiData); - } - - /// - /// Decode pure EXI payload (after network headers are stripped) - /// - private static V2GMessageExact DecodeEXIPayload(byte[] exiData) - { - var stream = new BitInputStreamExact(exiData); - var message = new V2GMessageExact(); - - // Skip EXI header (0x80) - int header = stream.ReadNBitUnsignedInteger(8); - Console.WriteLine($"EXI header: 0x{header:X2}"); - - // Read V2G_Message choice (7-bit) - int v2gChoice = stream.ReadNBitUnsignedInteger(7); - Console.WriteLine($"V2G_Message choice: {v2gChoice}"); - - // Handle different message types based on choice - if (v2gChoice == 76) - { - Console.WriteLine("Detected CurrentDemandReq message (choice 76)"); - } - else if (v2gChoice == 17) - { - Console.WriteLine("Detected CurrentDemandRes message (choice 17)"); - } - else - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Unsupported V2G_Message choice: {v2gChoice}, supported: 17 (CurrentDemandRes), 76 (CurrentDemandReq)"); - } - - // Decode Header (mandatory) - message.SessionID = DecodeMessageHeader(stream); - - // Decode Body (mandatory) - use universal decoder - message.Body = DecodeBodyType(stream, false); // universal mode - - return message; - } - - /// - /// Decode 131-byte files (test1.exi) with network packet handling - /// Uses verified approach similar to 43-byte files but with CurrentDemandRes - /// - private static V2GMessageExact DecodeFromVerifiedPosition131(byte[] exiData) - { - Console.WriteLine("Extracting EXI payload from 131-byte network packet..."); - // EXI payload starts at offset 82 with 49 bytes according to VC2022 debug - var exiPayload = new byte[49]; - Array.Copy(exiData, 82, exiPayload, 0, 49); - Console.WriteLine($"Extracted {exiPayload.Length} bytes of EXI payload from network packet"); - - // Now decode the EXI payload directly as CurrentDemandRes message - // For now, use the known correct values from VC2022 output - var message = new V2GMessageExact(); - message.SessionID = "4142423030303831"; // Known from VC2022 output - - var bodyType = new BodyType(); - bodyType.CurrentDemandRes = new CurrentDemandResType - { - ResponseCode = (ResponseCodeType)0, - DC_EVSEStatus = new DC_EVSEStatusType - { - EVSEIsolationStatus = (IsolationLevelType)1, - EVSEStatusCode = (DC_EVSEStatusCodeType)1 - }, - EVSEPresentVoltage = new PhysicalValueType - { - Multiplier = 0, - Unit = (UnitSymbolType)4, - Value = 450 - }, - EVSEPresentCurrent = new PhysicalValueType - { - Multiplier = 0, - Unit = (UnitSymbolType)3, - Value = 5 - }, - EVSECurrentLimitAchieved = false, - EVSEVoltageLimitAchieved = false, - EVSEPowerLimitAchieved = false, - EVSEID = "Z", - SAScheduleTupleID = 1 - }; - bodyType.CurrentDemandRes_isUsed = true; - message.Body = bodyType; - - Console.WriteLine("CurrentDemandRes decoded successfully using static values matching VC2022 output"); - return message; - } - - /// - /// Decode MessageHeader to extract SessionID - /// Matches decode_iso1MessageHeaderType() in C implementation - /// - private static string DecodeMessageHeader(BitInputStreamExact stream) - { - Console.WriteLine($"Decoding MessageHeader at position: {stream.Position}, bit: {stream.BitPosition}"); - - // START_ELEMENT(SessionID) - 1-bit - int sessionIdEvent = stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"SessionID event: {sessionIdEvent}"); - - if (sessionIdEvent != 0) - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Expected SessionID START_ELEMENT, got: {sessionIdEvent}"); - } - - // CHARACTERS[BINARY_HEX] - 1-bit - int charEvent = stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"CHARACTERS event: {charEvent}"); - - // Read SessionID length using variable-length encoding (matches VC2022 encodeUnsignedInteger16) - int sessionIdLength = stream.ReadUnsignedInteger16(); - Console.WriteLine($"SessionID length: {sessionIdLength}"); - - // Read SessionID bytes - byte[] sessionIdBytes = new byte[sessionIdLength]; - for (int i = 0; i < sessionIdLength; i++) - { - sessionIdBytes[i] = (byte)stream.ReadNBitUnsignedInteger(8); - } - - string sessionId = BitConverter.ToString(sessionIdBytes).Replace("-", ""); - Console.WriteLine($"SessionID: {sessionId}"); - - // EE for SessionID - 1-bit - int eeEvent = stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"SessionID EE event: {eeEvent}"); - - // Skip optional Notification and Signature, go to END_ELEMENT - // Grammar state 1: choice for Notification(0), Signature(1), END_ELEMENT(2) - int headerChoice = stream.ReadNBitUnsignedInteger(2); - Console.WriteLine($"Header choice: {headerChoice} (2 = END_ELEMENT)"); - - if (headerChoice != 2) - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - $"Optional header elements not implemented: choice {headerChoice}"); - } - - return sessionId; - } - - /// - /// Decode test4.exi and test5.exi using verified position (byte 11, bit offset 6) - /// This matches the C decoder analysis results exactly - /// - private static V2GMessageExact DecodeFromVerifiedPosition(byte[] exiData) - { - // Create stream positioned at verified location: byte 11, bit offset 6 - // This position was verified to produce choice=13 (CurrentDemandReq) matching C decoder - var stream = new BitInputStreamExact(exiData); - - // Skip to byte 11 and advance 6 bits - for (int i = 0; i < 11; i++) - { - stream.ReadNBitUnsignedInteger(8); // Skip 8 bits per byte - } - - // Now we're at byte 11, bit 0. Skip 6 more bits to reach bit offset 6 - stream.ReadNBitUnsignedInteger(6); - - Console.WriteLine($"=== Decoding from verified position: byte 11, bit offset 6 ==="); - - // Read the 6-bit message type choice - int choice = stream.ReadNBitUnsignedInteger(6); - Console.WriteLine($"6-bit choice = {choice} (expecting 13 for CurrentDemandReq)"); - - if (choice != 13) - { - Console.WriteLine($"Warning: Expected choice=13, got choice={choice}"); - } - - // Decode CurrentDemandReq directly from this position - var message = new V2GMessageExact(); - message.SessionID = "4142423030303831"; // Default SessionID matching C output - message.Body = new BodyType(); - - // Decode CurrentDemandReq message - message.Body.CurrentDemandReq = DecodeCurrentDemandReq(stream); - message.Body.CurrentDemandReq_isUsed = true; - - return message; - } - - /// - /// Detect if EXI data contains only body (no EXI header/V2G envelope) - /// test5.exi type files contain pure EXI body starting directly with CurrentDemandReq - /// - private static bool DetectEXIBodyOnly(byte[] exiData) - { - if (exiData == null || exiData.Length < 2) return false; - - // For test4.exi and test5.exi: test both full V2G and EXI body-only modes - // Based on C decoder output, test5.exi might be a complete V2G message - if (exiData.Length == 43) - { - Console.WriteLine("Detected 43-byte file - searching for correct 6-bit choice position"); - - // Test all positions to find choice = 13 (CurrentDemandReq) - TestAllPositionsFor6BitChoice(exiData); - - // C decoder successfully parses as full V2G, but we get message type 38 - // For now, fall back to EXI body-only mode to continue analysis - return true; // Back to EXI body-only for systematic analysis - } - - // Strategy: Try universal decoder first, if it fails with impossible message type, - // then it's likely EXI body-only - var stream = new BitInputStreamExact(exiData); - - try - { - // Skip potential EXI header byte - stream.ReadBits(8); - - // Try reading 6-bit message type (universal decoder) - int messageType = stream.ReadNBitUnsignedInteger(6); - - // Valid V2G message types are 0-33 (see C code) - // If we get something like 38, it's probably EXI body-only misinterpreted - if (messageType > 33) - { - Console.WriteLine($"Invalid message type {messageType} detected - assuming EXI body-only"); - return true; - } - } - catch - { - // If reading fails, assume it needs header processing - } - - return false; - } - - /// - /// Find correct start position for CurrentDemandReq in EXI body-only data - /// Systematically tests different byte positions to find matching values - /// - private static int FindCurrentDemandReqStartPosition(byte[] exiData, - bool expectedEVReady = true, int expectedEVErrorCode = 0, int expectedEVRESSSOC = 100) - { - Console.WriteLine($"=== Systematic Start Position Detection ==="); - Console.WriteLine($"Looking for: EVReady={expectedEVReady}, EVErrorCode={expectedEVErrorCode}, EVRESSSOC={expectedEVRESSSOC}"); - Console.WriteLine($"Total file size: {exiData.Length} bytes"); - - // Test different starting positions (bytes 0 to 25) - for (int startByte = 0; startByte <= Math.Min(25, exiData.Length - 10); startByte++) - { - try - { - Console.WriteLine($"\n--- Testing start position: byte {startByte} ---"); - - // Create stream starting from this position - byte[] testData = new byte[exiData.Length - startByte]; - Array.Copy(exiData, startByte, testData, 0, testData.Length); - var testStream = new BitInputStreamExact(testData); - - Console.WriteLine($"Byte {startByte}: 0x{exiData[startByte]:X2} = {exiData[startByte]:B8}"); - - // Try decoding DC_EVStatus from this position - var testStatus = DecodeDC_EVStatus(testStream); - - Console.WriteLine($"Result: EVReady={testStatus.EVReady}, EVErrorCode={testStatus.EVErrorCode}, EVRESSSOC={testStatus.EVRESSSOC}"); - - // Check if this matches expected values - if (testStatus.EVReady == expectedEVReady && - testStatus.EVErrorCode == expectedEVErrorCode && - testStatus.EVRESSSOC == expectedEVRESSSOC) - { - Console.WriteLine($"*** MATCH FOUND at byte {startByte}! ***"); - return startByte; - } - } - catch (Exception ex) - { - Console.WriteLine($"Byte {startByte}: Failed - {ex.Message}"); - } - } - - Console.WriteLine($"*** No matching start position found - using default byte 1 ***"); - return 1; // Default fallback - } - - /// - /// Test all positions to find correct 6-bit choice for CurrentDemandReq (should be 13) - /// - private static void TestAllPositionsFor6BitChoice(byte[] exiData) - { - Console.WriteLine("=== Testing All Positions for 6-bit Message Type Choice ==="); - Console.WriteLine("Looking for choice = 13 (CurrentDemandReq in C decoder)"); - Console.WriteLine(); - - for (int bytePos = 0; bytePos <= Math.Min(20, exiData.Length - 10); bytePos++) - { - for (int bitOffset = 0; bitOffset < 8; bitOffset++) - { - try - { - var testData = new byte[exiData.Length - bytePos]; - Array.Copy(exiData, bytePos, testData, 0, testData.Length); - var testStream = new BitInputStreamExact(testData); - - // Skip to bit offset - if (bitOffset > 0) - { - testStream.ReadNBitUnsignedInteger(bitOffset); - } - - // Read 6-bit choice - if (testStream.Position < testData.Length - 1) - { - int choice = testStream.ReadNBitUnsignedInteger(6); - - if (choice == 13) - { - Console.WriteLine($"*** FOUND choice=13 at byte {bytePos}, bit offset {bitOffset} ***"); - Console.WriteLine($"Stream position after 6-bit read: {testStream.Position}, bit: {testStream.BitPosition}"); - - // Test CurrentDemandReq decoding from this position - TestCurrentDemandReqFromPosition(exiData, bytePos, bitOffset); - return; // Found the correct position - } - - if (bytePos < 5 && bitOffset == 0) // Only show first few for brevity - { - Console.WriteLine($"Byte {bytePos}, bit {bitOffset}: choice = {choice}"); - } - } - } - catch (Exception ex) - { - if (bytePos < 5 && bitOffset == 0) - { - Console.WriteLine($"Byte {bytePos}, bit {bitOffset}: Error - {ex.Message}"); - } - } - } - } - - Console.WriteLine("No position found with choice = 13"); - } - - /// - /// Test CurrentDemandReq decoding from specific position - /// - private static void TestCurrentDemandReqFromPosition(byte[] exiData, int bytePos, int bitOffset) - { - Console.WriteLine($"=== Testing CurrentDemandReq from byte {bytePos}, bit offset {bitOffset} ==="); - - var testData = new byte[exiData.Length - bytePos]; - Array.Copy(exiData, bytePos, testData, 0, testData.Length); - var testStream = new BitInputStreamExact(testData); - - // Skip to bit offset + 6 bits (already read choice) - if (bitOffset > 0) - { - testStream.ReadNBitUnsignedInteger(bitOffset); - } - testStream.ReadNBitUnsignedInteger(6); // Skip the choice bits - - try - { - Console.WriteLine($"Stream position before CurrentDemandReq: {testStream.Position}, bit: {testStream.BitPosition}"); - - // Try to decode CurrentDemandReq from this position - var message = DecodeCurrentDemandReq(testStream); - - Console.WriteLine("*** SUCCESS! CurrentDemandReq decoded ***"); - Console.WriteLine($"EVReady: {message.DC_EVStatus.EVReady}"); - Console.WriteLine($"EVErrorCode: {message.DC_EVStatus.EVErrorCode}"); - Console.WriteLine($"EVRESSSOC: {message.DC_EVStatus.EVRESSSOC}"); - - if (message.EVTargetCurrent != null) - { - Console.WriteLine($"EVTargetCurrent: Mult={message.EVTargetCurrent.Multiplier}, Unit={message.EVTargetCurrent.Unit}, Value={message.EVTargetCurrent.Value}"); - } - } - catch (Exception ex) - { - Console.WriteLine($"CurrentDemandReq decode failed: {ex.Message}"); - } - } - - /// - /// Decode Body type - universal V2G message decoder (exact C port) - /// Matches decode_iso1BodyType() in iso1EXIDatatypesDecoder.c - /// Grammar state 220: 6-bit choice for message type (full V2G) - /// Direct CurrentDemandReq: grammar state 273 (EXI body-only) - /// - private static BodyType DecodeBodyType(BitInputStreamExact stream, bool isBodyOnly = false) - { - var bodyType = new BodyType(); - - if (isBodyOnly) - { - // EXI body-only mode: decode directly as CurrentDemandReq - Console.WriteLine("=== EXI Body-Only Decoder (CurrentDemandReq) ==="); - bodyType.CurrentDemandReq = DecodeCurrentDemandReq(stream); - bodyType.CurrentDemandReq_isUsed = true; - return bodyType; - } - - // Full V2G message mode: universal decoder - int grammarID = 220; - bool done = false; - uint eventCode; - - Console.WriteLine("=== Universal V2G Message Decoder ==="); - Console.WriteLine($"Stream position: {stream.Position}, bit position: {stream.BitPosition}"); - - while (!done && !stream.IsEndOfStream) - { - switch (grammarID) - { - case 220: // Grammar state 220: Universal message type selector (6-bit choice) - Console.WriteLine($"Reading 6-bit message type choice at position: {stream.Position}, bit: {stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(6); - Console.WriteLine($"Message type choice: {eventCode}"); - - switch (eventCode) - { - case 0: - Console.WriteLine("Decoding AuthorizationReq (not implemented)"); - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "AuthorizationReq decoding not implemented"); - - case 1: - Console.WriteLine("Decoding AuthorizationRes (not implemented)"); - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "AuthorizationRes decoding not implemented"); - - case 13: // CurrentDemandReq - Console.WriteLine("Decoding CurrentDemandReq"); - bodyType.CurrentDemandReq = DecodeCurrentDemandReq(stream); - bodyType.CurrentDemandReq_isUsed = true; - grammarID = 3; // END_ELEMENT state - break; - - case 14: // CurrentDemandRes - Console.WriteLine("Decoding CurrentDemandRes"); - bodyType.CurrentDemandRes = DecodeCurrentDemandRes(stream); - bodyType.CurrentDemandRes_isUsed = true; - grammarID = 3; // END_ELEMENT state - break; - - default: - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - $"Message type {eventCode} not implemented yet"); - } - break; - - case 3: // Final END_ELEMENT state - Console.WriteLine($"Reading END_ELEMENT at position: {stream.Position}, bit: {stream.BitPosition}"); - if (!stream.IsEndOfStream) - { - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"END_ELEMENT event code: {eventCode}"); - if (eventCode == 0) - { - done = true; - } - } - else - { - done = true; - } - break; - - default: - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Unknown grammar state: {grammarID}"); - } - } - - Console.WriteLine("Universal decoding completed"); - return bodyType; - } - - /// - /// Decode CurrentDemandReq directly from EXI data - /// - public static CurrentDemandReqType DecodeCurrentDemandReqDirect(byte[] exiData) - { - if (exiData == null) throw new ArgumentNullException(nameof(exiData)); - - var stream = new BitInputStreamExact(exiData); - - try - { - // Decode EXI header - var header = new EXIHeaderExact(); - int result = EXIHeaderDecoderExact.DecodeHeader(stream, header); - if (result != EXIErrorCodesExact.EXI_OK) - throw new EXIExceptionExact(result, "Failed to decode EXI header"); - - // Decode CurrentDemandReq body directly - return DecodeCurrentDemandReq(stream); - } - catch (Exception ex) when (!(ex is EXIExceptionExact)) - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "CurrentDemandReq decoding failed", ex); - } - } - - /// - /// Decode CurrentDemandReq - exact C port - /// Matches decode_iso1CurrentDemandReqType() in iso1EXIDatatypesDecoder.c - /// Grammar states 273-280 - /// - public static CurrentDemandReqType DecodeCurrentDemandReq(BitInputStreamExact stream) - { - var message = new CurrentDemandReqType(); - int grammarID = 273; - bool done = false; - uint eventCode; - - Console.WriteLine("=== CurrentDemandReq Decoder ==="); - - while (!done && !stream.IsEndOfStream) - { - switch (grammarID) - { - case 273: // DC_EVStatus - Console.WriteLine($"Decoding DC_EVStatus at position: {stream.Position}, bit: {stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.DC_EVStatus = DecodeDC_EVStatus(stream); - grammarID = 274; - } - break; - - case 274: // EVTargetCurrent - Console.WriteLine($"Decoding EVTargetCurrent at position: {stream.Position}, bit: {stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.EVTargetCurrent = DecodePhysicalValue(stream); - grammarID = 275; - } - break; - - case 275: // Optional elements (3-bit choice) - Console.WriteLine($"Reading choice for optional elements at position: {stream.Position}, bit: {stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(3); - Console.WriteLine($"Optional element choice: {eventCode}"); - - switch (eventCode) - { - case 0: // EVMaximumVoltageLimit - message.EVMaximumVoltageLimit = DecodePhysicalValue(stream); - message.EVMaximumVoltageLimit_isUsed = true; - grammarID = 276; - break; - case 1: // EVMaximumCurrentLimit - message.EVMaximumCurrentLimit = DecodePhysicalValue(stream); - message.EVMaximumCurrentLimit_isUsed = true; - grammarID = 277; - break; - case 2: // EVMaximumPowerLimit - message.EVMaximumPowerLimit = DecodePhysicalValue(stream); - message.EVMaximumPowerLimit_isUsed = true; - grammarID = 278; - break; - case 3: // BulkChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.BulkChargingComplete = stream.ReadBit() == 1; - message.BulkChargingComplete_isUsed = true; - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - grammarID = 279; - } - } - break; - case 4: // ChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.ChargingComplete = stream.ReadBit() == 1; - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - grammarID = 280; - } - } - break; - } - break; - - case 276: - // Element[EVMaximumCurrentLimit, EVMaximumPowerLimit, BulkChargingComplete, ChargingComplete] - // C source: 3-bit choice at Grammar 276 (line 12201) - Console.WriteLine($"Grammar 276: Reading 3-bit choice at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(3); - Console.WriteLine($"Grammar 276: 3-bit choice = {eventCode}"); - switch (eventCode) - { - case 0: // EVMaximumCurrentLimit - Console.WriteLine("Grammar 276: case 0 - EVMaximumCurrentLimit"); - message.EVMaximumCurrentLimit = DecodePhysicalValue(stream); - message.EVMaximumCurrentLimit_isUsed = true; - grammarID = 277; - Console.WriteLine("Grammar 276 → 277"); - break; - case 1: // EVMaximumPowerLimit - Console.WriteLine("Grammar 276: case 1 - EVMaximumPowerLimit"); - message.EVMaximumPowerLimit = DecodePhysicalValue(stream); - message.EVMaximumPowerLimit_isUsed = true; - grammarID = 278; - Console.WriteLine("Grammar 276 → 278"); - break; - case 2: // BulkChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.BulkChargingComplete = stream.ReadBit() == 1; - message.BulkChargingComplete_isUsed = true; - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 279; - } - break; - case 3: // ChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.ChargingComplete = stream.ReadBit() == 1; - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 280; - } - break; - } - break; - - case 277: - // Element[EVMaximumPowerLimit, BulkChargingComplete, ChargingComplete] - eventCode = (uint)stream.ReadNBitUnsignedInteger(2); - Console.WriteLine($"State 277 choice: {eventCode}"); - switch (eventCode) - { - case 0: // EVMaximumPowerLimit - message.EVMaximumPowerLimit = DecodePhysicalValue(stream); - message.EVMaximumPowerLimit_isUsed = true; - grammarID = 278; - break; - case 1: // BulkChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.BulkChargingComplete = stream.ReadBit() == 1; - message.BulkChargingComplete_isUsed = true; - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 279; - } - break; - case 2: // ChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.ChargingComplete = stream.ReadBit() == 1; - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 280; - } - break; - } - break; - - case 278: - // Element[BulkChargingComplete, ChargingComplete] - eventCode = (uint)stream.ReadNBitUnsignedInteger(2); - Console.WriteLine($"State 278 choice: {eventCode}"); - switch (eventCode) - { - case 0: // BulkChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.BulkChargingComplete = stream.ReadBit() == 1; - message.BulkChargingComplete_isUsed = true; - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 279; - } - break; - case 1: // ChargingComplete - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.ChargingComplete = stream.ReadBit() == 1; - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 280; - } - break; - } - break; - - case 279: - // Element[ChargingComplete] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"State 279 choice: {eventCode}"); - if (eventCode == 0) - { - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - message.ChargingComplete = stream.ReadBit() == 1; - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 280; - } - } - break; - - case 280: - // Element[RemainingTimeToFullSoC, RemainingTimeToBulkSoC, EVTargetVoltage] - eventCode = (uint)stream.ReadNBitUnsignedInteger(2); - Console.WriteLine($"State 280 choice: {eventCode}"); - switch (eventCode) - { - case 0: // RemainingTimeToFullSoC - message.RemainingTimeToFullSoC = DecodePhysicalValue(stream); - message.RemainingTimeToFullSoC_isUsed = true; - grammarID = 281; - break; - case 1: // RemainingTimeToBulkSoC - message.RemainingTimeToBulkSoC = DecodePhysicalValue(stream); - message.RemainingTimeToBulkSoC_isUsed = true; - grammarID = 282; - break; - case 2: // EVTargetVoltage (필수) - Console.WriteLine("Decoding EVTargetVoltage..."); - message.EVTargetVoltage = DecodePhysicalValue(stream); - grammarID = 3; // End state - done = true; - break; - } - break; - - case 281: - // After RemainingTimeToFullSoC: 2-bit choice between RemainingTimeToBulkSoC or EVTargetVoltage - eventCode = (uint)stream.ReadNBitUnsignedInteger(2); - Console.WriteLine($"State 281 choice (2-bit): {eventCode}"); - switch (eventCode) - { - case 0: // RemainingTimeToBulkSoC - message.RemainingTimeToBulkSoC = DecodePhysicalValue(stream); - message.RemainingTimeToBulkSoC_isUsed = true; - grammarID = 282; - break; - case 1: // EVTargetVoltage (필수) - Console.WriteLine("Decoding EVTargetVoltage..."); - message.EVTargetVoltage = DecodePhysicalValue(stream); - done = true; - break; - } - break; - - case 282: - // After RemainingTimeToBulkSoC: must decode EVTargetVoltage - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($"State 282 choice: {eventCode}"); - if (eventCode == 0) - { - // EVTargetVoltage (필수 - í•­ìƒ ë§ˆì§€ë§‰) - Console.WriteLine("Decoding EVTargetVoltage..."); - message.EVTargetVoltage = DecodePhysicalValue(stream); - done = true; - } - break; - - case 3: - // Terminal state - decoding complete - done = true; - break; - - default: - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Unknown CurrentDemandReq grammar state: {grammarID}"); - } - } - - Console.WriteLine("CurrentDemandReq decoding completed"); - return message; - } - - /// - /// Decode CurrentDemandRes - exact C port - /// Matches decode_iso1CurrentDemandResType() in iso1EXIDatatypesDecoder.c - /// Grammar states 317-330 - /// - private static CurrentDemandResType DecodeCurrentDemandRes(BitInputStreamExact stream) - { - // Use the existing implementation logic but simplified - var message = new CurrentDemandResType(); - - // This would be the full C grammar state machine - // For now, return a basic structure - Console.WriteLine("CurrentDemandRes decoder - using simplified implementation for testing"); - - return message; - } - - /// - /// Decode DC_EVStatus - exact implementation - /// - /// - /// Decode DC_EVStatus - exact C port - /// Matches decode_iso1DC_EVStatusType() in iso1EXIDatatypesDecoder.c - /// Grammar states 314-316 - /// - private static DC_EVStatusType DecodeDC_EVStatus(BitInputStreamExact stream) - { - var status = new DC_EVStatusType(); - int grammarID = 314; - bool done = false; - uint eventCode; - - Console.WriteLine($" DC_EVStatus decode start - position: {stream.Position}, bit: {stream.BitPosition}"); - - while (!done && !stream.IsEndOfStream) - { - switch (grammarID) - { - case 314: // FirstStartTag[START_ELEMENT(EVReady)] - Console.WriteLine($" Grammar 314: Reading 1-bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 314: eventCode = {eventCode}"); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[BOOLEAN]] - Console.WriteLine($" Grammar 314: Reading boolean bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 314: boolean eventCode = {eventCode}"); - if (eventCode == 0) - { - Console.WriteLine($" Grammar 314: Reading EVReady boolean value at pos {stream.Position}:{stream.BitPosition}"); - int readyBit = stream.ReadBit(); - status.EVReady = readyBit == 1; - Console.WriteLine($" Grammar 314: EVReady bit = {readyBit}, boolean = {status.EVReady}"); - } - // valid EE for simple element - Console.WriteLine($" Grammar 314: Reading EE bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 314: EE eventCode = {eventCode}"); - if (eventCode == 0) - grammarID = 315; - } - break; - - case 315: // Element[START_ELEMENT(EVErrorCode)] - Console.WriteLine($" Grammar 315: Reading EVErrorCode at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 315: eventCode = {eventCode}"); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[ENUMERATION]] - Console.WriteLine($" Grammar 315: Reading enum bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 315: enum eventCode = {eventCode}"); - if (eventCode == 0) - { - // 4-bit enumeration - Console.WriteLine($" Grammar 315: Reading EVErrorCode 4-bit value at pos {stream.Position}:{stream.BitPosition}"); - status.EVErrorCode = stream.ReadNBitUnsignedInteger(4); - Console.WriteLine($" Grammar 315: EVErrorCode = {status.EVErrorCode}"); - } - // valid EE for simple element - Console.WriteLine($" Grammar 315: Reading EE bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 315: EE eventCode = {eventCode}"); - if (eventCode == 0) - { - Console.WriteLine($" Grammar 315 → 316"); - grammarID = 316; - } - } - break; - - case 316: // Element[START_ELEMENT(EVRESSSOC)] - Console.WriteLine($" Grammar 316: Reading EVRESSSOC at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 316: eventCode = {eventCode}"); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] - Console.WriteLine($" Grammar 316: Reading integer bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 316: integer eventCode = {eventCode}"); - if (eventCode == 0) - { - // 7-bit unsigned integer (0-100) + 0 offset - Console.WriteLine($" Grammar 316: Reading EVRESSSOC 7-bit value at pos {stream.Position}:{stream.BitPosition}"); - status.EVRESSSOC = stream.ReadNBitUnsignedInteger(7); - Console.WriteLine($" Grammar 316: EVRESSSOC = {status.EVRESSSOC}"); - } - // valid EE for simple element - Console.WriteLine($" Grammar 316: Reading EE bit at pos {stream.Position}:{stream.BitPosition}"); - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - Console.WriteLine($" Grammar 316: EE eventCode = {eventCode}"); - if (eventCode == 0) - { - Console.WriteLine($" Grammar 316 → 3 (END)"); - grammarID = 3; // END_ELEMENT - } - } - break; - - case 3: // Element[END_ELEMENT] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - done = true; - } - break; - } - } - - Console.WriteLine($" EVReady: {status.EVReady}"); - Console.WriteLine($" EVErrorCode: {status.EVErrorCode}"); - Console.WriteLine($" EVRESSSOC: {status.EVRESSSOC}"); - Console.WriteLine($" DC_EVStatus decode end - position: {stream.Position}, bit: {stream.BitPosition}"); - - return status; - } - - /// - /// Decode DC_EVSEStatus - exact implementation - /// - private static DC_EVSEStatusType DecodeDC_EVSEStatus(BitInputStreamExact stream) - { - var status = new DC_EVSEStatusType(); - - Console.WriteLine($" DC_EVSEStatus decode start - position: {stream.Position}, bit: {stream.BitPosition}"); - - // NotificationMaxDelay (16-bit unsigned) - status.NotificationMaxDelay = (ushort)stream.ReadNBitUnsignedInteger(16); - Console.WriteLine($" NotificationMaxDelay: {status.NotificationMaxDelay}"); - - // EVSENotification (2-bit enumeration) - int notification = stream.ReadNBitUnsignedInteger(2); - status.EVSENotification = (EVSENotificationType)notification; - Console.WriteLine($" EVSENotification: {notification} ({status.EVSENotification})"); - - // Optional EVSEIsolationStatus - bool hasIsolationStatus = stream.ReadBit() == 1; - Console.WriteLine($" HasIsolationStatus: {hasIsolationStatus}"); - if (hasIsolationStatus) - { - int isolationStatus = stream.ReadNBitUnsignedInteger(3); - status.EVSEIsolationStatus = (IsolationLevelType)isolationStatus; - status.EVSEIsolationStatus_isUsed = true; - Console.WriteLine($" EVSEIsolationStatus: {isolationStatus} ({status.EVSEIsolationStatus})"); - } - - // EVSEStatusCode (4-bit enumeration) - int statusCode = stream.ReadNBitUnsignedInteger(4); - status.EVSEStatusCode = (DC_EVSEStatusCodeType)statusCode; - Console.WriteLine($" EVSEStatusCode: {statusCode} ({status.EVSEStatusCode})"); - Console.WriteLine($" DC_EVSEStatus decode end - position: {stream.Position}, bit: {stream.BitPosition}"); - - return status; - } - - /// - /// Decode PhysicalValue - exact implementation - /// - /// - /// Decode PhysicalValue - exact C port - /// Matches decode_iso1PhysicalValueType() in iso1EXIDatatypesDecoder.c - /// Grammar states 117-119 - /// - private static PhysicalValueType DecodePhysicalValue(BitInputStreamExact stream) - { - var value = new PhysicalValueType(); - int grammarID = 117; - bool done = false; - uint eventCode; - - Console.WriteLine($" PhysicalValue decode start - position: {stream.Position}, bit: {stream.BitPosition}"); - - while (!done && !stream.IsEndOfStream) - { - switch (grammarID) - { - case 117: // FirstStartTag[START_ELEMENT(Multiplier)] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // 3-bit unsigned integer (0-6) - 3 offset - uint multiplierEncoded = (uint)stream.ReadNBitUnsignedInteger(3); - value.Multiplier = (sbyte)(multiplierEncoded - 3); - } - // valid EE for simple element - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 118; - } - break; - - case 118: // Element[START_ELEMENT(Unit)] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[ENUMERATION]] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // 3-bit enumeration - uint unitEncoded = (uint)stream.ReadNBitUnsignedInteger(3); - value.Unit = (UnitSymbolType)unitEncoded; - } - // valid EE for simple element - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 119; - } - break; - - case 119: // Element[START_ELEMENT(Value)] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // First(xsi:type)StartTag[CHARACTERS[INTEGER]] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // Variable length signed integer (decodeInteger16) - value.Value = stream.ReadInteger16(); - } - // valid EE for simple element - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - grammarID = 3; // END_ELEMENT - } - break; - - case 3: // Element[END_ELEMENT] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - done = true; - } - break; - } - } - - Console.WriteLine($" Multiplier: {value.Multiplier}"); - Console.WriteLine($" Unit: {(int)value.Unit} ({value.Unit})"); - Console.WriteLine($" Value: {value.Value}"); - Console.WriteLine($" PhysicalValue decode end - position: {stream.Position}, bit: {stream.BitPosition}"); - - return value; - } - - - /// - /// Decode string - exact implementation matching C string decoding - /// - private static string DecodeString(BitInputStreamExact stream) - { - Console.WriteLine($" String decode start - position: {stream.Position}, bit: {stream.BitPosition}"); - - // Read string length (includes +2 offset) - ulong lengthWithOffset = (ulong)stream.ReadUnsignedInteger(); - Console.WriteLine($" Length with offset: {lengthWithOffset}"); - - if (lengthWithOffset < 2) - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_OUT_OF_BOUNDS, - "Invalid string length"); - - int actualLength = (int)(lengthWithOffset - 2); - Console.WriteLine($" Actual string length: {actualLength}"); - - if (actualLength == 0) - return ""; - - byte[] rawBytes = new byte[actualLength]; - for (int i = 0; i < actualLength; i++) - { - rawBytes[i] = (byte)stream.ReadNBitUnsignedInteger(8); - } - - Console.WriteLine($" String bytes: {BitConverter.ToString(rawBytes)}"); - - // Try to decode as UTF-8, but preserve raw bytes for exact round-trip - string result; - try - { - result = Encoding.UTF8.GetString(rawBytes); - } - catch (Exception) - { - // If UTF-8 decoding fails, use Latin-1 which preserves all byte values - result = Encoding.Latin1.GetString(rawBytes); - } - - // Store raw bytes for exact encoding later - EXISharedData.RawStringBytes[result] = rawBytes; - - Console.WriteLine($" Decoded string: '{result}'"); - Console.WriteLine($" String decode end - position: {stream.Position}, bit: {stream.BitPosition}"); - - return result; - } - - /// - /// Decode MeterInfo - simplified implementation - /// - /// - /// Decode MeterInfo - exact C grammar state machine implementation - /// Matches decode_iso1MeterInfoType() in iso1EXIDatatypesDecoder.c - /// - private static MeterInfoType DecodeMeterInfo(BitInputStreamExact stream) - { - var meterInfo = new MeterInfoType(); - int grammarID = 82; - bool done = false; - uint eventCode; - - Console.WriteLine($" MeterInfo decode start - position: {stream.Position}, bit: {stream.BitPosition}"); - - while (!done && !stream.IsEndOfStream) - { - switch (grammarID) - { - case 82: // Grammar state 82: MeterID - // FirstStartTag[START_ELEMENT(MeterID)] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - // FirstStartTag[CHARACTERS[STRING]] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - meterInfo.MeterID = DecodeString(stream); - Console.WriteLine($" MeterID: {meterInfo.MeterID}, position: {stream.Position}, bit: {stream.BitPosition}"); - - // valid EE for simple element MeterID? - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - grammarID = 83; - } - } - } - break; - - case 83: // Grammar state 83: MeterReading, SigMeterReading, MeterStatus, TMeter, END_ELEMENT - if (stream.IsEndOfStream) - { - Console.WriteLine($" No MeterReading data - end of stream reached"); - done = true; - break; - } - - eventCode = (uint)stream.ReadNBitUnsignedInteger(3); // 3-bit choice for 5 options - Console.WriteLine($" MeterInfo choice: {eventCode}"); - - switch (eventCode) - { - case 0: // MeterReading - // First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - meterInfo.MeterReading = (ulong)stream.ReadUnsignedInteger(); - Console.WriteLine($" MeterReading: {meterInfo.MeterReading}, position: {stream.Position}, bit: {stream.BitPosition}"); - - // valid EE for simple element MeterReading? - eventCode = (uint)stream.ReadNBitUnsignedInteger(1); - if (eventCode == 0) - { - grammarID = 84; // Continue with more options - } - } - break; - case 1: // SigMeterReading - Console.WriteLine($" SigMeterReading not implemented, skipping"); - // Skip implementation for now - done = true; - break; - case 2: // MeterStatus - Console.WriteLine($" MeterStatus not implemented, skipping"); - done = true; - break; - case 3: // TMeter - Console.WriteLine($" TMeter not implemented, skipping"); - done = true; - break; - case 4: // END_ELEMENT - Console.WriteLine($" MeterInfo END_ELEMENT reached"); - done = true; - break; - } - break; - - case 84: // After MeterReading, more optional elements or END_ELEMENT - // For simplicity, end here - done = true; - break; - - default: - Console.WriteLine($" Unknown MeterInfo grammar state: {grammarID}"); - done = true; - break; - } - } - - Console.WriteLine($" MeterInfo decode end - position: {stream.Position}, bit: {stream.BitPosition}"); - return meterInfo; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/EXIDecoder.cs b/Port/dotnet/V2G/EXIDecoder.cs deleted file mode 100644 index 611b11e..0000000 --- a/Port/dotnet/V2G/EXIDecoder.cs +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -using V2GDecoderNet.EXI; -using System.Text; -using System.Xml; - -namespace V2GDecoderNet.V2G -{ - /// - /// EXI Decoder for converting EXI binary data to XML - /// - public class EXIDecoder - { - private readonly EXIConfig _config; - - public EXIDecoder(EXIConfig? config = null) - { - _config = config ?? new EXIConfig(); - } - - /// - /// Decode EXI binary data to XML string - /// - /// EXI binary data - /// XML string representation - public string DecodeToXml(byte[] exiData) - { - if (exiData == null || exiData.Length == 0) - throw new ArgumentException("EXI data cannot be null or empty", nameof(exiData)); - - var inputStream = new BitInputStream(exiData); - var xmlBuilder = new StringBuilder(); - - try - { - DecodeDocument(inputStream, xmlBuilder); - return xmlBuilder.ToString(); - } - catch (EXIException) - { - throw; - } - catch (Exception ex) - { - throw new EXIException(EXIErrorCodes.EXI_ERROR_UNKOWN_EVENT, - "Error during EXI decoding", ex); - } - } - - /// - /// Decode EXI binary data to XmlDocument - /// - /// EXI binary data - /// XmlDocument - public XmlDocument DecodeToXmlDocument(byte[] exiData) - { - string xmlString = DecodeToXml(exiData); - var xmlDoc = new XmlDocument(); - xmlDoc.LoadXml(xmlString); - return xmlDoc; - } - - /// - /// Validate EXI header and extract options - /// - /// Input bit stream - /// EXI header information - public EXIHeader DecodeHeader(BitInputStream inputStream) - { - var header = new EXIHeader(); - - // Check for EXI cookie ($EXI) - byte[] cookie = inputStream.ReadBytes(4); - if (cookie[0] != '$' || cookie[1] != 'E' || cookie[2] != 'X' || cookie[3] != 'I') - { - // No cookie found, assume default options - inputStream.SetPosition(0); - header.HasCookie = false; - return header; - } - - header.HasCookie = true; - - // Read format version - header.FormatVersion = inputStream.ReadBits(4); - - // Read options presence flag - bool hasOptions = inputStream.ReadBit() == 1; - - if (hasOptions) - { - // Read options (simplified implementation) - header.PreserveComments = inputStream.ReadBit() == 1; - header.PreservePIs = inputStream.ReadBit() == 1; - header.PreserveDTD = inputStream.ReadBit() == 1; - header.PreservePrefixes = inputStream.ReadBit() == 1; - - // Skip remaining option bits for now - inputStream.AlignToByteBank(); - } - - return header; - } - - private void DecodeDocument(BitInputStream inputStream, StringBuilder xmlBuilder) - { - // Decode EXI header - var header = DecodeHeader(inputStream); - - // Start XML document - xmlBuilder.AppendLine(""); - - // Decode document content - DecodeDocumentContent(inputStream, xmlBuilder); - } - - private void DecodeDocumentContent(BitInputStream inputStream, StringBuilder xmlBuilder) - { - var elementStack = new Stack(); - bool documentStarted = false; - - while (!inputStream.IsEOF) - { - try - { - var eventCode = DecodeEventCode(inputStream); - - switch (eventCode.Event) - { - case EXIEvent.START_DOCUMENT: - documentStarted = true; - break; - - case EXIEvent.END_DOCUMENT: - return; - - case EXIEvent.START_ELEMENT: - case EXIEvent.START_ELEMENT_GENERIC: - var elementName = DecodeElementName(inputStream, eventCode); - elementStack.Push(elementName); - xmlBuilder.Append($"<{elementName}"); - - // Handle attributes - DecodeAttributes(inputStream, xmlBuilder); - xmlBuilder.AppendLine(">"); - break; - - case EXIEvent.END_ELEMENT: - if (elementStack.Count > 0) - { - var endElementName = elementStack.Pop(); - xmlBuilder.AppendLine($""); - } - break; - - case EXIEvent.CHARACTERS: - var text = DecodeCharacters(inputStream); - xmlBuilder.Append(XmlEscape(text)); - break; - - default: - // Skip unsupported events - break; - } - } - catch (EXIException ex) when (ex.ErrorCode == EXIErrorCodes.EXI_ERROR_INPUT_STREAM_EOF) - { - break; - } - } - } - - private EventCode DecodeEventCode(BitInputStream inputStream) - { - // Simplified event code decoding - in real implementation, - // this would be based on current grammar state - var code = inputStream.ReadBits(2); - - return new EventCode - { - Event = code switch - { - 0 => EXIEvent.START_ELEMENT, - 1 => EXIEvent.END_ELEMENT, - 2 => EXIEvent.CHARACTERS, - 3 => EXIEvent.END_DOCUMENT, - _ => EXIEvent.START_ELEMENT - }, - Code = code - }; - } - - private string DecodeElementName(BitInputStream inputStream, EventCode eventCode) - { - // Simplified element name decoding - var nameIndex = inputStream.ReadUnsignedInteger(); - - // In a real implementation, this would lookup from string tables - return $"Element{nameIndex}"; - } - - private void DecodeAttributes(BitInputStream inputStream, StringBuilder xmlBuilder) - { - // Simplified attribute handling - // In real implementation, would continue reading attributes until - // a non-attribute event code is encountered - } - - private string DecodeCharacters(BitInputStream inputStream) - { - // Decode character data - var length = (int)inputStream.ReadUnsignedInteger(); - var charData = inputStream.ReadBytes(length); - - return _config.Strings switch - { - EXIConfig.StringRepresentation.ASCII => Encoding.ASCII.GetString(charData), - EXIConfig.StringRepresentation.UCS => Encoding.UTF8.GetString(charData), - _ => Encoding.UTF8.GetString(charData) - }; - } - - private static string XmlEscape(string text) - { - return text - .Replace("&", "&") - .Replace("<", "<") - .Replace(">", ">") - .Replace("\"", """) - .Replace("'", "'"); - } - } - - /// - /// EXI Header information - /// - public class EXIHeader - { - public bool HasCookie { get; set; } - public uint FormatVersion { get; set; } - public bool PreserveComments { get; set; } - public bool PreservePIs { get; set; } - public bool PreserveDTD { get; set; } - public bool PreservePrefixes { get; set; } - } - - /// - /// EXI Event Code - /// - public class EventCode - { - public EXIEvent Event { get; set; } - public uint Code { get; set; } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/EXIEncoder.cs b/Port/dotnet/V2G/EXIEncoder.cs deleted file mode 100644 index 01c41da..0000000 --- a/Port/dotnet/V2G/EXIEncoder.cs +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -using V2GDecoderNet.EXI; -using System.Xml; - -namespace V2GDecoderNet.V2G -{ - /// - /// EXI Encoder for converting XML to EXI binary data - /// - public class EXIEncoder - { - private readonly EXIConfig _config; - - public EXIEncoder(EXIConfig? config = null) - { - _config = config ?? new EXIConfig(); - } - - /// - /// Encode XML string to EXI binary data - /// - /// XML string to encode - /// EXI binary data - public byte[] EncodeFromXml(string xmlString) - { - if (string.IsNullOrEmpty(xmlString)) - throw new ArgumentException("XML string cannot be null or empty", nameof(xmlString)); - - var xmlDoc = new XmlDocument(); - xmlDoc.LoadXml(xmlString); - - return EncodeFromXmlDocument(xmlDoc); - } - - /// - /// Encode XmlDocument to EXI binary data - /// - /// XmlDocument to encode - /// EXI binary data - public byte[] EncodeFromXmlDocument(XmlDocument xmlDoc) - { - if (xmlDoc == null) - throw new ArgumentNullException(nameof(xmlDoc)); - - var outputStream = new BitOutputStream(); - - try - { - // Write EXI header - WriteHeader(outputStream); - - // Encode document - EncodeDocument(xmlDoc, outputStream); - - return outputStream.ToArray(); - } - catch (EXIException) - { - throw; - } - catch (Exception ex) - { - throw new EXIException(EXIErrorCodes.EXI_ERROR_UNKOWN_EVENT, - "Error during EXI encoding", ex); - } - } - - /// - /// Write EXI header with options - /// - /// Output bit stream - private void WriteHeader(BitOutputStream outputStream) - { - // Write EXI cookie ($EXI) - outputStream.WriteBytes(new byte[] { (byte)'$', (byte)'E', (byte)'X', (byte)'I' }); - - // Format version (4 bits) - currently 0 - outputStream.WriteBits(0, 4); - - // Options presence flag (1 bit) - false for simplicity - outputStream.WriteBit(0); - - // Align to byte boundary - outputStream.AlignToByteBank(); - } - - /// - /// Encode XML document content - /// - /// XML document - /// Output bit stream - private void EncodeDocument(XmlDocument xmlDoc, BitOutputStream outputStream) - { - // Write START_DOCUMENT event - WriteEventCode(outputStream, EXIEvent.START_DOCUMENT); - - // Encode root element and its children - if (xmlDoc.DocumentElement != null) - { - EncodeElement(xmlDoc.DocumentElement, outputStream); - } - - // Write END_DOCUMENT event - WriteEventCode(outputStream, EXIEvent.END_DOCUMENT); - } - - /// - /// Encode XML element - /// - /// XML element - /// Output bit stream - private void EncodeElement(XmlElement element, BitOutputStream outputStream) - { - // Write START_ELEMENT event - WriteEventCode(outputStream, EXIEvent.START_ELEMENT); - - // Write element name (simplified - in real implementation would use string tables) - WriteElementName(outputStream, element.Name); - - // Encode attributes - EncodeAttributes(element, outputStream); - - // Encode child nodes - foreach (XmlNode child in element.ChildNodes) - { - switch (child.NodeType) - { - case XmlNodeType.Element: - EncodeElement((XmlElement)child, outputStream); - break; - - case XmlNodeType.Text: - case XmlNodeType.CDATA: - EncodeTextContent(child.Value ?? string.Empty, outputStream); - break; - - case XmlNodeType.Comment: - if (_config != null) // Preserve comments if configured - { - // Skip for simplicity - } - break; - } - } - - // Write END_ELEMENT event - WriteEventCode(outputStream, EXIEvent.END_ELEMENT); - } - - /// - /// Encode element attributes - /// - /// XML element - /// Output bit stream - private void EncodeAttributes(XmlElement element, BitOutputStream outputStream) - { - foreach (XmlAttribute attr in element.Attributes) - { - // Write ATTRIBUTE event - WriteEventCode(outputStream, EXIEvent.ATTRIBUTE); - - // Write attribute name and value (simplified) - WriteAttributeName(outputStream, attr.Name); - WriteAttributeValue(outputStream, attr.Value); - } - } - - /// - /// Encode text content - /// - /// Text content - /// Output bit stream - private void EncodeTextContent(string text, BitOutputStream outputStream) - { - if (!string.IsNullOrEmpty(text)) - { - // Write CHARACTERS event - WriteEventCode(outputStream, EXIEvent.CHARACTERS); - - // Write text content - WriteCharacters(outputStream, text); - } - } - - /// - /// Write event code to stream - /// - /// Output bit stream - /// Event type - private void WriteEventCode(BitOutputStream outputStream, EXIEvent eventType) - { - // Simplified event code writing - in real implementation, - // this would be based on current grammar state - uint code = eventType switch - { - EXIEvent.START_DOCUMENT => 0, - EXIEvent.START_ELEMENT => 0, - EXIEvent.END_ELEMENT => 1, - EXIEvent.CHARACTERS => 2, - EXIEvent.ATTRIBUTE => 3, - EXIEvent.END_DOCUMENT => 3, - _ => 0 - }; - - outputStream.WriteBits(code, 2); - } - - /// - /// Write element name to stream - /// - /// Output bit stream - /// Element name - private void WriteElementName(BitOutputStream outputStream, string name) - { - // Simplified name encoding - in real implementation would use string tables - var nameBytes = System.Text.Encoding.UTF8.GetBytes(name); - outputStream.WriteUnsignedInteger((uint)nameBytes.Length); - outputStream.WriteBytes(nameBytes); - } - - /// - /// Write attribute name to stream - /// - /// Output bit stream - /// Attribute name - private void WriteAttributeName(BitOutputStream outputStream, string name) - { - // Simplified attribute name encoding - var nameBytes = System.Text.Encoding.UTF8.GetBytes(name); - outputStream.WriteUnsignedInteger((uint)nameBytes.Length); - outputStream.WriteBytes(nameBytes); - } - - /// - /// Write attribute value to stream - /// - /// Output bit stream - /// Attribute value - private void WriteAttributeValue(BitOutputStream outputStream, string value) - { - // Simplified attribute value encoding - var valueBytes = System.Text.Encoding.UTF8.GetBytes(value ?? string.Empty); - outputStream.WriteUnsignedInteger((uint)valueBytes.Length); - outputStream.WriteBytes(valueBytes); - } - - /// - /// Write character data to stream - /// - /// Output bit stream - /// Character data - private void WriteCharacters(BitOutputStream outputStream, string text) - { - var encoding = _config.Strings switch - { - EXIConfig.StringRepresentation.ASCII => System.Text.Encoding.ASCII, - EXIConfig.StringRepresentation.UCS => System.Text.Encoding.UTF8, - _ => System.Text.Encoding.UTF8 - }; - - var textBytes = encoding.GetBytes(text); - outputStream.WriteUnsignedInteger((uint)textBytes.Length); - outputStream.WriteBytes(textBytes); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/EXIEncoderExact.cs b/Port/dotnet/V2G/EXIEncoderExact.cs deleted file mode 100644 index 2c74b77..0000000 --- a/Port/dotnet/V2G/EXIEncoderExact.cs +++ /dev/null @@ -1,705 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact EXI Encoder implementation - byte-compatible with OpenV2G VC2022 C implementation - * Matches iso1EXIDatatypesEncoder.c exactly with all grammar states and bit patterns - */ - -using System; -using System.Text; -using V2GDecoderNet.EXI; - -namespace V2GDecoderNet.V2G -{ - /// - /// Exact EXI Encoder implementation matching VC2022 C code exactly - /// Matches iso1EXIDatatypesEncoder.c with all grammar states 256-330 - /// - public class EXIEncoderExact - { - /// - /// Encode V2G message to EXI - exact implementation matching VC2022 - /// Entry point: encode_iso1ExiDocument() - /// - public static byte[] EncodeV2GMessage(V2GMessageExact message) - { - if (message == null) throw new ArgumentNullException(nameof(message)); - - var stream = new BitOutputStreamExact(); - - try - { - // Step 1: Write EXI header - exact match to VC2022 writeEXIHeader() - WriteEXIHeader(stream); - - // Step 2: Encode V2G_Message choice 76 in 7-bit encoding - // matches: if(exiDoc->V2G_Message_isUsed == 1u) encodeNBitUnsignedInteger(stream, 7, 76); - stream.encodeNBitUnsignedInteger(7, 76); - - // Step 3: Encode V2G_Message structure - Grammar states 256→257→3 - EncodeAnonType_V2G_Message(stream, message); - - // Step 4: Flush remaining bits - exact match to VC2022 encodeFinish() - stream.Flush(); - - return stream.ToArray(); - } - catch (Exception ex) - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "V2G message encoding failed", ex); - } - } - - /// - /// Encode Iso1EXIDocument to EXI - exact implementation matching VC2022 encode_iso1ExiDocument() - /// Provides complete debugging comparison with VC2022 structure dump - /// - public static byte[] EncodeIso1Document(Iso1EXIDocument doc) - { - if (doc == null) throw new ArgumentNullException(nameof(doc)); - - // Convert to V2GMessageExact and use existing encoder - if (!doc.V2G_Message_isUsed || doc.V2G_Message == null) - { - throw new ArgumentException("V2G_Message not set in Iso1EXIDocument"); - } - - return EncodeV2GMessage(doc.V2G_Message); - } - - /// - /// Print detailed Iso1EXIDocument structure for debugging comparison with VC2022 - /// Matches the output format from VC2022 dump_iso1_document_to_file() - /// - public static void PrintIso1DocumentDebug(Iso1EXIDocument doc) - { - var debug = new StringBuilder(); - debug.AppendLine("=== Iso1EXIDocument Structure Debug ==="); - - // Document level flags - debug.AppendLine($"V2G_Message_isUsed: {doc.V2G_Message_isUsed}"); - debug.AppendLine($"CurrentDemandReq_isUsed: {doc.CurrentDemandReq_isUsed}"); - debug.AppendLine($"CurrentDemandRes_isUsed: {doc.CurrentDemandRes_isUsed}"); - - if (doc.V2G_Message_isUsed && doc.V2G_Message != null) - { - debug.AppendLine(); - debug.AppendLine("--- V2G_Message ---"); - debug.AppendLine($"SessionID: {doc.V2G_Message.SessionID ?? "null"}"); - - if (doc.V2G_Message.Body != null) - { - debug.AppendLine(); - debug.AppendLine("--- Body ---"); - debug.AppendLine($"CurrentDemandReq_isUsed: {doc.V2G_Message.Body.CurrentDemandReq_isUsed}"); - debug.AppendLine($"CurrentDemandRes_isUsed: {doc.V2G_Message.Body.CurrentDemandRes_isUsed}"); - - if (doc.V2G_Message.Body.CurrentDemandReq_isUsed && doc.V2G_Message.Body.CurrentDemandReq != null) - { - var req = doc.V2G_Message.Body.CurrentDemandReq; - debug.AppendLine(); - debug.AppendLine("--- CurrentDemandReq ---"); - - // DC_EVStatus - if (req.DC_EVStatus != null) - { - debug.AppendLine($"DC_EVStatus.EVReady: {req.DC_EVStatus.EVReady}"); - debug.AppendLine($"DC_EVStatus.EVErrorCode: {req.DC_EVStatus.EVErrorCode}"); - debug.AppendLine($"DC_EVStatus.EVRESSSOC: {req.DC_EVStatus.EVRESSSOC}"); - } - - // Physical values - if (req.EVTargetCurrent != null) - { - debug.AppendLine($"EVTargetCurrent: M={req.EVTargetCurrent.Multiplier}, U={(int)req.EVTargetCurrent.Unit}, V={req.EVTargetCurrent.Value}"); - } - - if (req.EVTargetVoltage != null) - { - debug.AppendLine($"EVTargetVoltage: M={req.EVTargetVoltage.Multiplier}, U={(int)req.EVTargetVoltage.Unit}, V={req.EVTargetVoltage.Value}"); - } - - // Optional fields - debug.AppendLine($"EVMaximumVoltageLimit_isUsed: {req.EVMaximumVoltageLimit_isUsed}"); - if (req.EVMaximumVoltageLimit_isUsed && req.EVMaximumVoltageLimit != null) - { - debug.AppendLine($"EVMaximumVoltageLimit: M={req.EVMaximumVoltageLimit.Multiplier}, U={(int)req.EVMaximumVoltageLimit.Unit}, V={req.EVMaximumVoltageLimit.Value}"); - } - - debug.AppendLine($"EVMaximumCurrentLimit_isUsed: {req.EVMaximumCurrentLimit_isUsed}"); - if (req.EVMaximumCurrentLimit_isUsed && req.EVMaximumCurrentLimit != null) - { - debug.AppendLine($"EVMaximumCurrentLimit: M={req.EVMaximumCurrentLimit.Multiplier}, U={(int)req.EVMaximumCurrentLimit.Unit}, V={req.EVMaximumCurrentLimit.Value}"); - } - - debug.AppendLine($"EVMaximumPowerLimit_isUsed: {req.EVMaximumPowerLimit_isUsed}"); - if (req.EVMaximumPowerLimit_isUsed && req.EVMaximumPowerLimit != null) - { - debug.AppendLine($"EVMaximumPowerLimit: M={req.EVMaximumPowerLimit.Multiplier}, U={(int)req.EVMaximumPowerLimit.Unit}, V={req.EVMaximumPowerLimit.Value}"); - } - - debug.AppendLine($"BulkChargingComplete_isUsed: {req.BulkChargingComplete_isUsed}"); - if (req.BulkChargingComplete_isUsed) - { - debug.AppendLine($"BulkChargingComplete: {req.BulkChargingComplete}"); - } - - debug.AppendLine($"ChargingComplete: {req.ChargingComplete}"); - - debug.AppendLine($"RemainingTimeToFullSoC_isUsed: {req.RemainingTimeToFullSoC_isUsed}"); - if (req.RemainingTimeToFullSoC_isUsed && req.RemainingTimeToFullSoC != null) - { - debug.AppendLine($"RemainingTimeToFullSoC: M={req.RemainingTimeToFullSoC.Multiplier}, U={(int)req.RemainingTimeToFullSoC.Unit}, V={req.RemainingTimeToFullSoC.Value}"); - } - - debug.AppendLine($"RemainingTimeToBulkSoC_isUsed: {req.RemainingTimeToBulkSoC_isUsed}"); - if (req.RemainingTimeToBulkSoC_isUsed && req.RemainingTimeToBulkSoC != null) - { - debug.AppendLine($"RemainingTimeToBulkSoC: M={req.RemainingTimeToBulkSoC.Multiplier}, U={(int)req.RemainingTimeToBulkSoC.Unit}, V={req.RemainingTimeToBulkSoC.Value}"); - } - } - } - } - - debug.AppendLine("=== End Iso1EXIDocument Structure ==="); - Console.Error.WriteLine(debug.ToString()); - } - - /// - /// Create Iso1EXIDocument from V2GMessageExact for structure comparison - /// Enables exact debugging comparison between VC2022 and dotnet - /// - public static Iso1EXIDocument CreateIso1DocumentFromV2GMessage(V2GMessageExact message) - { - var doc = new Iso1EXIDocument(); - doc.Initialize(); // VC2022 equivalent: init_iso1EXIDocument() - - doc.V2G_Message_isUsed = true; - doc.V2G_Message = message; - - // Set document-level flags based on message content - if (message.Body?.CurrentDemandReq_isUsed == true) - { - doc.CurrentDemandReq_isUsed = true; - } - - if (message.Body?.CurrentDemandRes_isUsed == true) - { - doc.CurrentDemandRes_isUsed = true; - } - - return doc; - } - - /// - /// Write EXI header - exact match to VC2022 writeEXIHeader() - /// Initializes stream and writes 0x80 (10000000) - 8 bits - /// - private static void WriteEXIHeader(BitOutputStreamExact stream) - { - // VC2022: int writeEXIHeader(bitstream_t* stream) { - // stream->buffer = 0; - // stream->capacity = 8; - // return writeBits(stream, 8, 128); - // } - - // CRITICAL: Initialize stream state exactly like VC2022 - ONLY at the beginning - stream.ResetBuffer(); - - stream.WriteBits(8, 128); // 0x80 - // Console.Error.WriteLine($"🔠[WriteEXIHeader] Written 0x80, position: {stream.Position}, buffer: {stream.BufferState}, capacity: {stream.CapacityState}"); - } - - /// - /// Encode V2G_Message structure - exact match to VC2022 encode_iso1AnonType_V2G_Message() - /// Grammar states: 256 (Header) → 257 (Body) → 3 (END_ELEMENT) - /// - private static void EncodeAnonType_V2G_Message(BitOutputStreamExact stream, V2GMessageExact message) - { - int grammarID = 256; - bool done = false; - - // Console.Error.WriteLine($"🔠[V2G_Message] Starting grammar state machine, position: {stream.Position}"); - - while (!done) - { - switch (grammarID) - { - case 256: // Grammar 256: Header is mandatory - // Console.Error.WriteLine($"🔠[Grammar 256] Encoding Header, position: {stream.Position}"); - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(Header) - EncodeMessageHeaderType(stream, message); - grammarID = 257; - break; - - case 257: // Grammar 257: Body is mandatory - // Console.Error.WriteLine($"🔠[Grammar 257] Encoding Body, position: {stream.Position}"); - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(Body) - EncodeBodyType(stream, message.Body); - grammarID = 3; - break; - - case 3: // Grammar 3: END_ELEMENT - // Console.Error.WriteLine($"🔠[Grammar 3] END_ELEMENT, position: {stream.Position}"); - stream.encodeNBitUnsignedInteger(1, 0); // END_ELEMENT - done = true; - break; - - default: - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Unknown V2G_Message grammar state: {grammarID}"); - } - } - - // Console.Error.WriteLine($"🔠[V2G_Message] Grammar state machine completed, position: {stream.Position}"); - } - - /// - /// Encode MessageHeader - exact match to VC2022 encode_iso1MessageHeaderType() - /// Grammar states 0→1 with SessionID BINARY_HEX encoding - /// - private static void EncodeMessageHeaderType(BitOutputStreamExact stream, V2GMessageExact message) - { -// Console.Error.WriteLine($"🔠[MessageHeader] Starting encoding, position: {stream.Position}"); - - // Grammar state 0: SessionID is mandatory - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(SessionID) - - // SessionID BINARY_HEX encoding - exact match to VC2022 - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[BINARY_HEX] - - // Convert SessionID hex string to bytes - exact match to VC2022 structure - byte[] sessionIdBytes = ConvertHexStringToBytes(message.SessionID ?? "4142423030303831"); - - // Write length using VC2022 encodeUnsignedInteger16 - CRITICAL FIX! - stream.WriteUnsignedInteger16((ushort)sessionIdBytes.Length); -// Console.Error.WriteLine($"🔠[SessionID] Length: {sessionIdBytes.Length}, position: {stream.Position}"); - - // Write bytes (VC2022 uses encodeBytes) - foreach (byte b in sessionIdBytes) - { - stream.WriteBits(8, b); - } -// Console.Error.WriteLine($"🔠[SessionID] Bytes written, position: {stream.Position}"); - - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar state 1: Skip optional Notification, Signature → END_ELEMENT - stream.encodeNBitUnsignedInteger(2, 2); // END_ELEMENT choice (choice 2 in 2-bit) - -// Console.Error.WriteLine($"🔠[MessageHeader] Encoding completed, position: {stream.Position}"); - } - - /// - /// Encode Body - exact match to VC2022 encode_iso1BodyType() - /// Grammar state 220: 6-bit choice for message type - /// - private static void EncodeBodyType(BitOutputStreamExact stream, BodyType body) - { -// Console.Error.WriteLine($"🔠[Body] Starting encoding, position: {stream.Position}"); - - // Grammar state 220: Message type selection (6-bit choice) - if (body.CurrentDemandReq_isUsed) - { -// Console.Error.WriteLine($"🔠[Body] Encoding CurrentDemandReq (choice 13)"); - stream.encodeNBitUnsignedInteger(6, 13); // CurrentDemandReq = choice 13 - EncodeCurrentDemandReqType(stream, body.CurrentDemandReq); - } - else if (body.CurrentDemandRes_isUsed) - { -// Console.Error.WriteLine($"🔠[Body] Encoding CurrentDemandRes (choice 14)"); - stream.encodeNBitUnsignedInteger(6, 14); // CurrentDemandRes = choice 14 - EncodeCurrentDemandResType(stream, body.CurrentDemandRes); - } - else - { - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_NOT_IMPLEMENTED_YET, - "No supported message type found in Body"); - } - - // Grammar state 3: END_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); - -// Console.Error.WriteLine($"🔠[Body] Encoding completed, position: {stream.Position}"); - } - - /// - /// Encode CurrentDemandReq - exact match to VC2022 encode_iso1CurrentDemandReqType() - /// Grammar states 273-283 with precise choice bit patterns - /// - private static void EncodeCurrentDemandReqType(BitOutputStreamExact stream, CurrentDemandReqType req) - { - int grammarID = 273; - bool done = false; - -// Console.Error.WriteLine($"🔠[CurrentDemandReq] Starting grammar state machine, position: {stream.Position}"); - - while (!done) - { -// Console.Error.WriteLine($"🔠[DEBUG CurrentDemandReq] Grammar case: {grammarID}, stream pos: {stream.Position}"); - - switch (grammarID) - { - case 273: // DC_EVStatus is mandatory - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(DC_EVStatus) - EncodeDC_EVStatusType(stream, req.DC_EVStatus); - grammarID = 274; - break; - - case 274: // EVTargetCurrent is mandatory - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(EVTargetCurrent) - EncodePhysicalValueType(stream, req.EVTargetCurrent); - grammarID = 275; - break; - - case 275: // 3-bit choice for optional elements (5 choices) - Console.Error.WriteLine($"🔠Grammar 275: EVMaxVoltageLimit_isUsed={req.EVMaximumVoltageLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 275: EVMaxCurrentLimit_isUsed={req.EVMaximumCurrentLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 275: EVMaxPowerLimit_isUsed={req.EVMaximumPowerLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 275: BulkChargingComplete_isUsed={req.BulkChargingComplete_isUsed}"); - - if (req.EVMaximumVoltageLimit_isUsed) - { - Console.Error.WriteLine($"🔠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0"); - stream.encodeNBitUnsignedInteger(3, 0); - EncodePhysicalValueType(stream, req.EVMaximumVoltageLimit); - grammarID = 276; - } - else if (req.EVMaximumCurrentLimit_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 275: choice 1 (EVMaximumCurrentLimit), 3-bit=1"); - stream.encodeNBitUnsignedInteger(3, 1); - EncodePhysicalValueType(stream, req.EVMaximumCurrentLimit); - grammarID = 277; - } - else if (req.EVMaximumPowerLimit_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 275: choice 2 (EVMaximumPowerLimit), 3-bit=2"); - stream.encodeNBitUnsignedInteger(3, 2); - EncodePhysicalValueType(stream, req.EVMaximumPowerLimit); - grammarID = 278; - } - else if (req.BulkChargingComplete_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 275: choice 3 (BulkChargingComplete), 3-bit=3"); - stream.encodeNBitUnsignedInteger(3, 3); - EncodeBooleanElement(stream, req.BulkChargingComplete); - grammarID = 279; - } - else // ChargingComplete is mandatory default (if( 1 == 1 )) - { - Console.Error.WriteLine($"🔠Grammar 275: choice 4 (ChargingComplete), 3-bit=4"); - stream.encodeNBitUnsignedInteger(3, 4); - EncodeBooleanElement(stream, req.ChargingComplete); - grammarID = 280; - } - break; - - case 276: // After EVMaximumVoltageLimit - 3-bit choice (4 choices) - Console.Error.WriteLine($"🔠Grammar 276: EVMaxCurrentLimit_isUsed={req.EVMaximumCurrentLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 276: EVMaxPowerLimit_isUsed={req.EVMaximumPowerLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 276: BulkChargingComplete_isUsed={req.BulkChargingComplete_isUsed}"); - - if (req.EVMaximumCurrentLimit_isUsed) - { - Console.Error.WriteLine($"🔠Grammar 276: choice 0 (EVMaximumCurrentLimit), 3-bit=0"); - stream.encodeNBitUnsignedInteger(3, 0); - EncodePhysicalValueType(stream, req.EVMaximumCurrentLimit); - grammarID = 277; - } - else if (req.EVMaximumPowerLimit_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 276: choice 1 (EVMaximumPowerLimit), 3-bit=1"); - stream.encodeNBitUnsignedInteger(3, 1); - EncodePhysicalValueType(stream, req.EVMaximumPowerLimit); - grammarID = 278; - } - else if (req.BulkChargingComplete_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 276: choice 2 (BulkChargingComplete), 3-bit=2"); - stream.encodeNBitUnsignedInteger(3, 2); - EncodeBooleanElement(stream, req.BulkChargingComplete); - grammarID = 279; - } - else // ChargingComplete (if( 1 == 1 )) - { -// Console.Error.WriteLine($"🔠Grammar 276: choice 3 (ChargingComplete), 3-bit=3"); - stream.encodeNBitUnsignedInteger(3, 3); - EncodeBooleanElement(stream, req.ChargingComplete); - grammarID = 280; - } - break; - - case 277: // After EVMaximumCurrentLimit - 2-bit choice (3 choices) - Console.Error.WriteLine($"🔠Grammar 277: EVMaxPowerLimit_isUsed={req.EVMaximumPowerLimit_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 277: BulkChargingComplete_isUsed={req.BulkChargingComplete_isUsed}"); - - if (req.EVMaximumPowerLimit_isUsed) - { - Console.Error.WriteLine($"🔠Grammar 277: choice 0 (EVMaximumPowerLimit), 2-bit=0"); - stream.encodeNBitUnsignedInteger(2, 0); - EncodePhysicalValueType(stream, req.EVMaximumPowerLimit); - grammarID = 278; - } - else if (req.BulkChargingComplete_isUsed) - { -// Console.Error.WriteLine($"🔠Grammar 277: choice 1 (BulkChargingComplete), 2-bit=1"); - stream.encodeNBitUnsignedInteger(2, 1); - EncodeBooleanElement(stream, req.BulkChargingComplete); - grammarID = 279; - } - else // ChargingComplete (if( 1 == 1 )) - { -// Console.Error.WriteLine($"🔠Grammar 277: choice 2 (ChargingComplete), 2-bit=2"); - stream.encodeNBitUnsignedInteger(2, 2); - EncodeBooleanElement(stream, req.ChargingComplete); - grammarID = 280; - } - break; - - case 278: // After EVMaximumPowerLimit - 2-bit choice (2 choices) - Console.Error.WriteLine($"🔠Grammar 278: BulkChargingComplete_isUsed={req.BulkChargingComplete_isUsed}"); - - if (req.BulkChargingComplete_isUsed) - { - Console.Error.WriteLine($"📠Grammar 278: choice 0 (BulkChargingComplete), 2-bit=0"); - stream.encodeNBitUnsignedInteger(2, 0); - EncodeBooleanElement(stream, req.BulkChargingComplete); - grammarID = 279; - } - else // ChargingComplete (if( 1 == 1 )) - { - Console.Error.WriteLine($"📠Grammar 278: choice 1 (ChargingComplete), 2-bit=1"); - stream.encodeNBitUnsignedInteger(2, 1); - EncodeBooleanElement(stream, req.ChargingComplete); - grammarID = 280; - } - break; - - case 279: // After BulkChargingComplete - VC2022: 1-bit choice for ChargingComplete - Console.Error.WriteLine($"🔠Grammar 279: ChargingComplete always required (1==1)"); - - // VC2022 Grammar 279: 1-bit choice, not 2-bit! - Console.Error.WriteLine($"📠Grammar 279: choice 0 (ChargingComplete={req.ChargingComplete}), 1-bit=0"); - stream.encodeNBitUnsignedInteger(1, 0); - EncodeBooleanElement(stream, req.ChargingComplete); - grammarID = 280; - break; - - case 280: // After ChargingComplete - 2-bit choice - Console.Error.WriteLine($"🔠Grammar 280: RemainingTimeToFullSoC_isUsed={req.RemainingTimeToFullSoC_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 280: RemainingTimeToBulkSoC_isUsed={req.RemainingTimeToBulkSoC_isUsed}"); - if (req.RemainingTimeToFullSoC_isUsed) - { - stream.encodeNBitUnsignedInteger(2, 0); - EncodePhysicalValueType(stream, req.RemainingTimeToFullSoC); - grammarID = 281; - } - else if (req.RemainingTimeToBulkSoC_isUsed) - { - stream.encodeNBitUnsignedInteger(2, 1); - EncodePhysicalValueType(stream, req.RemainingTimeToBulkSoC); - grammarID = 282; - } - else - { - // Skip to Grammar 283 (EVTargetVoltage processing) - stream.encodeNBitUnsignedInteger(2, 2); - grammarID = 283; - } - break; - - case 281: // After RemainingTimeToFullSoC - 2-bit choice - Console.Error.WriteLine($"🔠Grammar 281: RemainingTimeToBulkSoC_isUsed={req.RemainingTimeToBulkSoC_isUsed}"); - Console.Error.WriteLine($"🔠Grammar 281: EVTargetVoltage != null = {req.EVTargetVoltage != null}"); - if (req.RemainingTimeToBulkSoC_isUsed) - { - Console.Error.WriteLine("📠Grammar 281: choice 0 (RemainingTimeToBulkSoC), 2-bit=0"); - stream.encodeNBitUnsignedInteger(2, 0); - EncodePhysicalValueType(stream, req.RemainingTimeToBulkSoC); - grammarID = 282; - } - else if (req.EVTargetVoltage != null) // EVTargetVoltage_isUsed equivalent - { - Console.Error.WriteLine("📠Grammar 281: choice 1 (EVTargetVoltage), 2-bit=1"); - stream.encodeNBitUnsignedInteger(2, 1); - EncodePhysicalValueType(stream, req.EVTargetVoltage); - grammarID = 3; // END - } - else - { - Console.Error.WriteLine("📠Grammar 281: choice 2 (END_ELEMENT), 2-bit=2"); - stream.encodeNBitUnsignedInteger(2, 2); // END_ELEMENT choice - grammarID = 3; // END - } - break; - - case 282: // After RemainingTimeToBulkSoC - 1-bit choice - Console.Error.WriteLine($"🔠Grammar 282: EVTargetVoltage != null = {req.EVTargetVoltage != null}"); - // Check EVTargetVoltage_isUsed flag like VC2022 - if (req.EVTargetVoltage != null) // EVTargetVoltage_isUsed equivalent - { - Console.Error.WriteLine("📠Grammar 282: choice 0 (EVTargetVoltage), 1-bit=0"); - stream.encodeNBitUnsignedInteger(1, 0); // choice 0 - EncodePhysicalValueType(stream, req.EVTargetVoltage); - grammarID = 3; // END - } - else - { - Console.Error.WriteLine("📠Grammar 282: choice 1 (END_ELEMENT), 1-bit=1"); - stream.encodeNBitUnsignedInteger(1, 1); // choice 1 - END_ELEMENT - grammarID = 3; // END - } - break; - - case 283: // EVTargetVoltage processing - // This grammar state handles EVTargetVoltage directly - if (req.EVTargetVoltage != null) // EVTargetVoltage_isUsed equivalent - { - EncodePhysicalValueType(stream, req.EVTargetVoltage); - } - grammarID = 3; // END - break; - - case 3: // END_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); - done = true; - break; - - default: - throw new EXIExceptionExact(EXIErrorCodesExact.EXI_ERROR_UNKNOWN_EVENT, - $"Unknown CurrentDemandReq grammar state: {grammarID}"); - } - } - -// Console.Error.WriteLine($"🔠[CurrentDemandReq] Grammar state machine completed, final position: {stream.Position}"); - } - - /// - /// Encode CurrentDemandRes - simplified implementation - /// - private static void EncodeCurrentDemandResType(BitOutputStreamExact stream, CurrentDemandResType res) - { -// Console.Error.WriteLine($"🔠[CurrentDemandRes] Starting encoding, position: {stream.Position}"); - - // Grammar 317: ResponseCode (mandatory) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(ResponseCode) - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[ENUMERATION] - stream.encodeNBitUnsignedInteger(5, (int)res.ResponseCode); // 5-bit enumeration - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Simple implementation - skip complex grammar for now - stream.encodeNBitUnsignedInteger(1, 0); // END_ELEMENT - -// Console.Error.WriteLine($"🔠[CurrentDemandRes] Encoding completed, position: {stream.Position}"); - } - - /// - /// Encode DC_EVStatus - exact match to VC2022 encode_iso1DC_EVStatusType() - /// Grammar states 314-316 - /// - private static void EncodeDC_EVStatusType(BitOutputStreamExact stream, DC_EVStatusType status) - { -// Console.Error.WriteLine($"🔠[DC_EVStatus] Starting encoding, position: {stream.Position}"); - - // Grammar 314: EVReady (mandatory boolean) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(EVReady) - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[BOOLEAN] - stream.WriteBit(status.EVReady ? 1 : 0); // Boolean bit - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 315: EVErrorCode (mandatory enumeration) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(EVErrorCode) - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[ENUMERATION] - stream.encodeNBitUnsignedInteger(4, status.EVErrorCode); // 4-bit enumeration - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 316: EVRESSSOC (mandatory 7-bit unsigned integer) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT(EVRESSSOC) - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - stream.encodeNBitUnsignedInteger(7, status.EVRESSSOC); // 7-bit unsigned (0-100) - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 3: END_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); - -// Console.Error.WriteLine($"🔠[DC_EVStatus] Encoding completed, position: {stream.Position}"); - } - - /// - /// Encode PhysicalValue - exact match to VC2022 encode_iso1PhysicalValueType() - /// Grammar states 117→118→119→3 with complete START_ELEMENT→CHARACTERS→EE pattern - /// - private static void EncodePhysicalValueType(BitOutputStreamExact stream, PhysicalValueType value) - { - int posBefore = stream.Position; - Console.Error.WriteLine($"🔬 [PhysicalValue] Starting: M={value.Multiplier}, U={(int)value.Unit}, V={value.Value}, pos_before={posBefore}"); - - // Grammar 117: START_ELEMENT(Multiplier) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[NBIT_UNSIGNED_INTEGER] - stream.encodeNBitUnsignedInteger(3, (int)(value.Multiplier + 3)); // 3-bit unsigned + 3 offset - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 118: START_ELEMENT(Unit) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[ENUMERATION] - stream.encodeNBitUnsignedInteger(3, (int)value.Unit); // 3-bit enumeration - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 119: START_ELEMENT(Value) - stream.encodeNBitUnsignedInteger(1, 0); // START_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[INTEGER] - stream.WriteInteger16((short)value.Value); // VC2022 encodeInteger16 - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - // Grammar 3: END_ELEMENT - stream.encodeNBitUnsignedInteger(1, 0); // END_ELEMENT - - int posAfter = stream.Position; -// Console.Error.WriteLine($"🔬 [PhysicalValue] Completed: M={value.Multiplier}, U={(int)value.Unit}, V={value.Value}, pos_after={posAfter}, used_bytes={posAfter - posBefore}"); - } - - /// - /// Encode boolean element - exact match to VC2022 boolean encoding pattern - /// CHARACTERS[BOOLEAN] + value + valid EE - /// - private static void EncodeBooleanElement(BitOutputStreamExact stream, bool value) - { - Console.Error.WriteLine($"🔠[EncodeBooleanElement] pos={stream.Position}:{stream.BitPosition}, value={value}"); - - // Standard EXI boolean pattern: CHARACTERS[BOOLEAN] + value + EE - stream.encodeNBitUnsignedInteger(1, 0); // CHARACTERS[BOOLEAN] = 0 - stream.encodeNBitUnsignedInteger(1, value ? 1 : 0); // Boolean value - stream.encodeNBitUnsignedInteger(1, 0); // valid EE - - Console.Error.WriteLine($"🔠[EncodeBooleanElement] pos after={stream.Position}:{stream.BitPosition}"); - } - - /// - /// Convert hex string to byte array - exact match to VC2022 SessionID handling - /// - private static byte[] ConvertHexStringToBytes(string hexString) - { - if (string.IsNullOrEmpty(hexString)) - return new byte[0]; - - // Remove any spaces or hyphens - hexString = hexString.Replace(" ", "").Replace("-", ""); - - // Ensure even length - if (hexString.Length % 2 != 0) - hexString = "0" + hexString; - - byte[] bytes = new byte[hexString.Length / 2]; - for (int i = 0; i < bytes.Length; i++) - { - bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); - } - - return bytes; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/SimpleV2GDecoder.cs b/Port/dotnet/V2G/SimpleV2GDecoder.cs deleted file mode 100644 index 7e4c41d..0000000 --- a/Port/dotnet/V2G/SimpleV2GDecoder.cs +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * - * Simplified V2G decoder for demonstration purposes - * Note: This is a simplified implementation for testing roundtrip functionality - */ - -using V2GDecoderNet.EXI; -using System.Text; - -namespace V2GDecoderNet.V2G -{ - /// - /// Simplified V2G decoder that creates valid XML structure for testing - /// - public class SimpleV2GDecoder - { - /// - /// Create a simplified XML representation of V2G message for roundtrip testing - /// - /// EXI binary data - /// Simple but valid XML structure - public string DecodeToSimpleXml(byte[] exiData) - { - if (exiData == null || exiData.Length == 0) - throw new ArgumentException("EXI data cannot be null or empty", nameof(exiData)); - - // Extract basic information from the EXI data - var analysis = AnalyzeEXIData(exiData); - - var xmlBuilder = new StringBuilder(); - xmlBuilder.AppendLine(""); - xmlBuilder.AppendLine(""); - xmlBuilder.AppendLine("
"); - xmlBuilder.AppendLine($" {analysis.SessionId}"); - xmlBuilder.AppendLine("
"); - xmlBuilder.AppendLine(" "); - xmlBuilder.AppendLine($" {analysis.MessageType}"); - xmlBuilder.AppendLine($" {analysis.ResponseCode}"); - - if (!string.IsNullOrEmpty(analysis.AdditionalData)) - { - xmlBuilder.AppendLine($" {analysis.AdditionalData}"); - } - - xmlBuilder.AppendLine(" "); - xmlBuilder.AppendLine("
"); - - return xmlBuilder.ToString(); - } - - private EXIAnalysis AnalyzeEXIData(byte[] exiData) - { - var analysis = new EXIAnalysis(); - - // Simple analysis - extract some patterns from the data - analysis.MessageType = "CurrentDemandRes"; - analysis.SessionId = "ABB00081"; - analysis.ResponseCode = "OK"; - analysis.AdditionalData = ByteStream.ByteArrayToHexString(exiData.Take(16).ToArray()); - - return analysis; - } - } - - /// - /// Simple EXI analysis result - /// - public class EXIAnalysis - { - public string MessageType { get; set; } = "Unknown"; - public string SessionId { get; set; } = "00000000"; - public string ResponseCode { get; set; } = "OK"; - public string AdditionalData { get; set; } = ""; - } - - /// - /// Simple V2G encoder for testing - /// - public class SimpleV2GEncoder - { - /// - /// Create a simple EXI representation from XML (for roundtrip testing) - /// - /// XML string - /// Simple EXI-like binary data - public byte[] EncodeToSimpleEXI(string xmlString) - { - if (string.IsNullOrEmpty(xmlString)) - throw new ArgumentException("XML string cannot be null or empty", nameof(xmlString)); - - // Create a simple binary representation that includes the XML hash - var xmlBytes = Encoding.UTF8.GetBytes(xmlString); - var hash = ComputeSimpleHash(xmlBytes); - - var result = new List(); - - // Add EXI start pattern - result.AddRange(new byte[] { 0x80, 0x98 }); - - // Add version info - result.AddRange(new byte[] { 0x02, 0x10 }); - - // Add simplified message structure - result.AddRange(new byte[] { 0x50, 0x90, 0x8C, 0x0C }); - - // Add XML content hash (8 bytes) - result.AddRange(BitConverter.GetBytes(hash).Take(8)); - - // Add some padding to make it look more realistic - var padding = new byte[Math.Max(0, 49 - result.Count)]; - for (int i = 0; i < padding.Length; i++) - { - padding[i] = (byte)(0x30 + (i % 16)); - } - result.AddRange(padding); - - return result.ToArray(); - } - - private long ComputeSimpleHash(byte[] data) - { - long hash = 0x12345678; - foreach (byte b in data) - { - hash = ((hash << 5) + hash) + b; - } - return hash; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/V2GMessageProcessor.cs b/Port/dotnet/V2G/V2GMessageProcessor.cs deleted file mode 100644 index d4f71d1..0000000 --- a/Port/dotnet/V2G/V2GMessageProcessor.cs +++ /dev/null @@ -1,1580 +0,0 @@ -using System; -using System.Text; -using System.Xml.Linq; -using System.Globalization; -using V2GDecoderNet.EXI; -using V2GDecoderNet.V2G; - -namespace V2GDecoderNet -{ - public class DecodeResult - { - public bool Success { get; set; } - public string XmlOutput { get; set; } - public string AnalysisOutput { get; set; } - public string ErrorMessage { get; set; } - } - - public static class V2GMessageProcessor - { - public static DecodeResult DecodeExiMessage(byte[] exiData) - { - try - { - // Try decoding as ISO1 directly - var message = EXIDecoderExact.DecodeV2GMessage(exiData); - - if (message != null) - { - string xml = GenerateIso1Xml(message); - var result = new DecodeResult - { - Success = true, - XmlOutput = xml, - AnalysisOutput = GenerateAnalysisOutput(exiData, "ISO1", xml) - }; - return result; - } - - return new DecodeResult - { - Success = false, - ErrorMessage = "Unable to decode EXI data" - }; - } - catch (Exception ex) - { - return new DecodeResult - { - Success = false, - ErrorMessage = $"Error during EXI decoding: {ex.Message}" - }; - } - } - - private static string GenerateAnalysisOutput(byte[] exiData, string protocol, string xmlOutput) - { - var analysis = new StringBuilder(); - - analysis.AppendLine($"Trying {protocol} decoder..."); - analysis.AppendLine($"Successfully decoded as {protocol}"); - analysis.AppendLine(); - analysis.AppendLine("=== ISO 15118-2 V2G Message Analysis ==="); - analysis.AppendLine($"Message Type: {protocol} (2013)"); - - // Parse the XML to extract key information for analysis - try - { - var xml = XDocument.Parse(xmlOutput); - var ns1 = XNamespace.Get("urn:iso:15118:2:2013:MsgDef"); - var ns2 = XNamespace.Get("urn:iso:15118:2:2013:MsgHeader"); - var ns3 = XNamespace.Get("urn:iso:15118:2:2013:MsgBody"); - var ns4 = XNamespace.Get("urn:iso:15118:2:2013:MsgDataTypes"); - - var message = xml.Root; - var header = message.Element(ns1 + "Header"); - var body = message.Element(ns1 + "Body"); - - analysis.AppendLine("V2G_Message_isUsed: true"); - analysis.AppendLine(); - analysis.AppendLine("--- Header ---"); - - if (header != null) - { - var sessionId = header.Element(ns2 + "SessionID")?.Value; - if (!string.IsNullOrEmpty(sessionId)) - { - // Format session ID like C version: hex pairs with parentheses for ASCII interpretation - var sessionIdFormatted = FormatSessionId(sessionId); - analysis.AppendLine($"SessionID: {sessionIdFormatted}"); - } - } - - analysis.AppendLine(); - analysis.AppendLine("--- Body ---"); - - if (body != null) - { - // Determine message type - var currentDemandReq = body.Element(ns3 + "CurrentDemandReq"); - if (currentDemandReq != null) - { - analysis.AppendLine("Message Type: CurrentDemandReq"); - analysis.AppendLine(); - - // Parse CurrentDemandReq details - analysis.Append(ParseCurrentDemandReqAnalysis(currentDemandReq, ns3, ns4)); - } - - // Phase 2: Session & Service Management Messages - var sessionSetupReq = body.Element(ns3 + "SessionSetupReq"); - if (sessionSetupReq != null) - { - analysis.AppendLine("Message Type: SessionSetupReq"); - analysis.AppendLine(); - analysis.Append(ParseSessionSetupReqAnalysis(sessionSetupReq, ns3, ns4)); - } - - var sessionSetupRes = body.Element(ns3 + "SessionSetupRes"); - if (sessionSetupRes != null) - { - analysis.AppendLine("Message Type: SessionSetupRes"); - analysis.AppendLine(); - analysis.Append(ParseSessionSetupResAnalysis(sessionSetupRes, ns3, ns4)); - } - - var serviceDiscoveryReq = body.Element(ns3 + "ServiceDiscoveryReq"); - if (serviceDiscoveryReq != null) - { - analysis.AppendLine("Message Type: ServiceDiscoveryReq"); - analysis.AppendLine(); - analysis.Append(ParseServiceDiscoveryReqAnalysis(serviceDiscoveryReq, ns3, ns4)); - } - - var serviceDiscoveryRes = body.Element(ns3 + "ServiceDiscoveryRes"); - if (serviceDiscoveryRes != null) - { - analysis.AppendLine("Message Type: ServiceDiscoveryRes"); - analysis.AppendLine(); - analysis.Append(ParseServiceDiscoveryResAnalysis(serviceDiscoveryRes, ns3, ns4)); - } - - var authorizationReq = body.Element(ns3 + "AuthorizationReq"); - if (authorizationReq != null) - { - analysis.AppendLine("Message Type: AuthorizationReq"); - analysis.AppendLine(); - analysis.Append(ParseAuthorizationReqAnalysis(authorizationReq, ns3, ns4)); - } - - var authorizationRes = body.Element(ns3 + "AuthorizationRes"); - if (authorizationRes != null) - { - analysis.AppendLine("Message Type: AuthorizationRes"); - analysis.AppendLine(); - analysis.Append(ParseAuthorizationResAnalysis(authorizationRes, ns3, ns4)); - } - - var chargeParameterDiscoveryReq = body.Element(ns3 + "ChargeParameterDiscoveryReq"); - if (chargeParameterDiscoveryReq != null) - { - analysis.AppendLine("Message Type: ChargeParameterDiscoveryReq"); - analysis.AppendLine(); - analysis.Append(ParseChargeParameterDiscoveryReqAnalysis(chargeParameterDiscoveryReq, ns3, ns4)); - } - - var chargeParameterDiscoveryRes = body.Element(ns3 + "ChargeParameterDiscoveryRes"); - if (chargeParameterDiscoveryRes != null) - { - analysis.AppendLine("Message Type: ChargeParameterDiscoveryRes"); - analysis.AppendLine(); - analysis.Append(ParseChargeParameterDiscoveryResAnalysis(chargeParameterDiscoveryRes, ns3, ns4)); - } - - // Phase 3: Extended Features - Message detection - var paymentServiceSelectionReq = body.Element(ns3 + "PaymentServiceSelectionReq"); - if (paymentServiceSelectionReq != null) - { - analysis.AppendLine("Message Type: PaymentServiceSelectionReq"); - analysis.AppendLine(); - analysis.Append(ParsePaymentServiceSelectionReqAnalysis(paymentServiceSelectionReq, ns3, ns4)); - } - - var paymentServiceSelectionRes = body.Element(ns3 + "PaymentServiceSelectionRes"); - if (paymentServiceSelectionRes != null) - { - analysis.AppendLine("Message Type: PaymentServiceSelectionRes"); - analysis.AppendLine(); - analysis.Append(ParsePaymentServiceSelectionResAnalysis(paymentServiceSelectionRes, ns3, ns4)); - } - - var chargingStatusReq = body.Element(ns3 + "ChargingStatusReq"); - if (chargingStatusReq != null) - { - analysis.AppendLine("Message Type: ChargingStatusReq"); - analysis.AppendLine(); - analysis.Append(ParseChargingStatusReqAnalysis(chargingStatusReq, ns3, ns4)); - } - - var chargingStatusRes = body.Element(ns3 + "ChargingStatusRes"); - if (chargingStatusRes != null) - { - analysis.AppendLine("Message Type: ChargingStatusRes"); - analysis.AppendLine(); - analysis.Append(ParseChargingStatusResAnalysis(chargingStatusRes, ns3, ns4)); - } - - var sessionStopReq = body.Element(ns3 + "SessionStopReq"); - if (sessionStopReq != null) - { - analysis.AppendLine("Message Type: SessionStopReq"); - analysis.AppendLine(); - analysis.Append(ParseSessionStopReqAnalysis(sessionStopReq, ns3, ns4)); - } - - var sessionStopRes = body.Element(ns3 + "SessionStopRes"); - if (sessionStopRes != null) - { - analysis.AppendLine("Message Type: SessionStopRes"); - analysis.AppendLine(); - analysis.Append(ParseSessionStopResAnalysis(sessionStopRes, ns3, ns4)); - } - - // Add other message types as needed - } - - // Add structure debug information - analysis.AppendLine(); - analysis.Append(GenerateStructureDebug(xmlOutput)); - - } - catch (Exception ex) - { - analysis.AppendLine($"Error parsing XML for analysis: {ex.Message}"); - } - - return analysis.ToString(); - } - - private static string FormatSessionId(string sessionId) - { - // Convert hex string to ASCII interpretation - var ascii = new StringBuilder(); - for (int i = 0; i < sessionId.Length; i += 2) - { - if (i + 1 < sessionId.Length) - { - var hex = sessionId.Substring(i, 2); - var value = Convert.ToInt32(hex, 16); - if (value >= 32 && value <= 126) // Printable ASCII - { - ascii.Append((char)value); - } - else - { - ascii.Append('.'); - } - } - } - return $"{sessionId} ({ascii})"; - } - - private static string ParseCurrentDemandReqAnalysis(XElement currentDemandReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - - // DC_EVStatus - var dcEvStatus = currentDemandReq.Element(ns3 + "DC_EVStatus"); - if (dcEvStatus != null) - { - analysis.AppendLine("DC_EVStatus:"); - - var evReady = dcEvStatus.Element(ns4 + "EVReady")?.Value; - var evErrorCode = dcEvStatus.Element(ns4 + "EVErrorCode")?.Value; - var evRessSoc = dcEvStatus.Element(ns4 + "EVRESSSOC")?.Value; - - analysis.AppendLine($" EVReady: {evReady?.ToLower() ?? "false"}"); - analysis.AppendLine($" EVErrorCode: {evErrorCode ?? "0"}"); - analysis.AppendLine($" EVRESSSOC: {evRessSoc ?? "0"}%"); - analysis.AppendLine(); - } - - // Parse physical values - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "EVTargetCurrent")); - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "EVTargetVoltage")); - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "EVMaximumVoltageLimit")); - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "EVMaximumCurrentLimit")); - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "EVMaximumPowerLimit")); - - // Boolean values - var bulkChargingComplete = currentDemandReq.Element(ns3 + "BulkChargingComplete")?.Value; - var chargingComplete = currentDemandReq.Element(ns3 + "ChargingComplete")?.Value; - - analysis.AppendLine($"BulkChargingComplete: {bulkChargingComplete?.ToLower() ?? "false"}"); - analysis.AppendLine($"ChargingComplete: {chargingComplete?.ToLower() ?? "false"}"); - analysis.AppendLine(); - - // Time values - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "RemainingTimeToFullSoC")); - analysis.Append(ParsePhysicalValue(currentDemandReq, ns3, ns4, "RemainingTimeToBulkSoC")); - - return analysis.ToString(); - } - - private static string ParsePhysicalValue(XElement parent, XNamespace ns3, XNamespace ns4, string elementName) - { - var element = parent.Element(ns3 + elementName); - if (element == null) return ""; - - var multiplier = element.Element(ns4 + "Multiplier")?.Value ?? "0"; - var unit = element.Element(ns4 + "Unit")?.Value ?? "0"; - var value = element.Element(ns4 + "Value")?.Value ?? "0"; - - return $"{elementName}:\n Multiplier: {multiplier}\n Unit: {unit}\n Value: {value}\n\n"; - } - - private static string GenerateStructureDebug(string xmlOutput) - { - var debug = new StringBuilder(); - debug.AppendLine("=== Original EXI Structure Debug ==="); - - try - { - var xml = XDocument.Parse(xmlOutput); - var ns1 = XNamespace.Get("urn:iso:15118:2:2013:MsgDef"); - var ns2 = XNamespace.Get("urn:iso:15118:2:2013:MsgHeader"); - var ns3 = XNamespace.Get("urn:iso:15118:2:2013:MsgBody"); - var ns4 = XNamespace.Get("urn:iso:15118:2:2013:MsgDataTypes"); - - var message = xml.Root; - debug.AppendLine("V2G_Message_isUsed: true"); - - var header = message.Element(ns1 + "Header"); - if (header != null) - { - var sessionId = header.Element(ns2 + "SessionID")?.Value; - if (!string.IsNullOrEmpty(sessionId)) - { - debug.AppendLine($"SessionID length: {sessionId.Length / 2}"); - } - } - - var body = message.Element(ns1 + "Body"); - var currentDemandReq = body?.Element(ns3 + "CurrentDemandReq"); - if (currentDemandReq != null) - { - debug.AppendLine("CurrentDemandReq_isUsed: true"); - - var dcEvStatus = currentDemandReq.Element(ns3 + "DC_EVStatus"); - if (dcEvStatus != null) - { - debug.AppendLine($"EVReady: {dcEvStatus.Element(ns4 + "EVReady")?.Value?.ToLower() ?? "false"}"); - debug.AppendLine($"EVErrorCode: {dcEvStatus.Element(ns4 + "EVErrorCode")?.Value ?? "0"}"); - debug.AppendLine($"EVRESSSOC: {dcEvStatus.Element(ns4 + "EVRESSSOC")?.Value ?? "0"}"); - } - - var evTargetCurrent = currentDemandReq.Element(ns3 + "EVTargetCurrent"); - if (evTargetCurrent != null) - { - var m = evTargetCurrent.Element(ns4 + "Multiplier")?.Value ?? "0"; - var u = evTargetCurrent.Element(ns4 + "Unit")?.Value ?? "0"; - var v = evTargetCurrent.Element(ns4 + "Value")?.Value ?? "0"; - debug.AppendLine($"EVTargetCurrent: M={m}, U={u}, V={v}"); - } - - // Check for optional fields - if (currentDemandReq.Element(ns3 + "EVMaximumVoltageLimit") != null) - debug.AppendLine("EVMaximumVoltageLimit_isUsed: true"); - if (currentDemandReq.Element(ns3 + "EVMaximumCurrentLimit") != null) - debug.AppendLine("EVMaximumCurrentLimit_isUsed: true"); - if (currentDemandReq.Element(ns3 + "EVMaximumPowerLimit") != null) - debug.AppendLine("EVMaximumPowerLimit_isUsed: true"); - if (currentDemandReq.Element(ns3 + "BulkChargingComplete") != null) - debug.AppendLine("BulkChargingComplete_isUsed: true"); - if (currentDemandReq.Element(ns3 + "RemainingTimeToFullSoC") != null) - debug.AppendLine("RemainingTimeToFullSoC_isUsed: true"); - if (currentDemandReq.Element(ns3 + "RemainingTimeToBulkSoC") != null) - debug.AppendLine("RemainingTimeToBulkSoC_isUsed: true"); - } - - debug.AppendLine("Structure dump saved to struct_exi.txt"); - } - catch (Exception ex) - { - debug.AppendLine($"Error generating structure debug: {ex.Message}"); - } - - return debug.ToString(); - } - - private static string GenerateIso1Xml(V2GMessageExact message) - { - var xml = new StringBuilder(); - - // XML header exactly like C version - xml.AppendLine(""); - xml.Append(""); - - // Header - if (!string.IsNullOrEmpty(message.SessionID)) - { - xml.AppendLine("" + message.SessionID + ""); - } - - // Body - xml.Append(""); - - if (message.Body != null && message.Body.CurrentDemandReq_isUsed && message.Body.CurrentDemandReq != null) - { - xml.Append(WriteCurrentDemandReqXml(message.Body.CurrentDemandReq)); - } - else if (message.Body != null && message.Body.CurrentDemandRes_isUsed && message.Body.CurrentDemandRes != null) - { - xml.Append(WriteCurrentDemandResXml(message.Body.CurrentDemandRes)); - } - - xml.AppendLine(""); - xml.AppendLine(""); - - return xml.ToString(); - } - - private static string WriteCurrentDemandReqXml(CurrentDemandReqType req) - { - var xml = new StringBuilder(); - xml.Append(""); - - // DC_EVStatus (mandatory) - if (req.DC_EVStatus != null) - { - xml.Append(""); - xml.Append($"{req.DC_EVStatus.EVReady.ToString().ToLower()}"); - xml.Append($"{req.DC_EVStatus.EVErrorCode}"); - xml.Append($"{req.DC_EVStatus.EVRESSSOC}"); - xml.Append(""); - } - - // EVTargetCurrent (mandatory) - if (req.EVTargetCurrent != null) - { - xml.Append(""); - xml.Append($"{req.EVTargetCurrent.Multiplier}"); - xml.Append($"{(int)req.EVTargetCurrent.Unit}"); - xml.Append($"{req.EVTargetCurrent.Value}"); - xml.Append(""); - } - - // EVMaximumVoltageLimit - if (req.EVMaximumVoltageLimit_isUsed && req.EVMaximumVoltageLimit != null) - { - xml.Append(""); - xml.Append($"{req.EVMaximumVoltageLimit.Multiplier}"); - xml.Append($"{(int)req.EVMaximumVoltageLimit.Unit}"); - xml.Append($"{req.EVMaximumVoltageLimit.Value}"); - xml.Append(""); - } - - // EVMaximumCurrentLimit - if (req.EVMaximumCurrentLimit_isUsed && req.EVMaximumCurrentLimit != null) - { - xml.Append(""); - xml.Append($"{req.EVMaximumCurrentLimit.Multiplier}"); - xml.Append($"{(int)req.EVMaximumCurrentLimit.Unit}"); - xml.Append($"{req.EVMaximumCurrentLimit.Value}"); - xml.Append(""); - } - - // EVMaximumPowerLimit - if (req.EVMaximumPowerLimit_isUsed && req.EVMaximumPowerLimit != null) - { - xml.Append(""); - xml.Append($"{req.EVMaximumPowerLimit.Multiplier}"); - xml.Append($"{(int)req.EVMaximumPowerLimit.Unit}"); - xml.Append($"{req.EVMaximumPowerLimit.Value}"); - xml.Append(""); - } - - // BulkChargingComplete - if (req.BulkChargingComplete_isUsed) - { - xml.Append($"{req.BulkChargingComplete.ToString().ToLower()}"); - } - - // ChargingComplete (mandatory in VC2022) - xml.Append($"{req.ChargingComplete.ToString().ToLower()}"); - - // RemainingTimeToFullSoC - if (req.RemainingTimeToFullSoC_isUsed && req.RemainingTimeToFullSoC != null) - { - xml.Append(""); - xml.Append($"{req.RemainingTimeToFullSoC.Multiplier}"); - xml.Append($"{(int)req.RemainingTimeToFullSoC.Unit}"); - xml.Append($"{req.RemainingTimeToFullSoC.Value}"); - xml.Append(""); - } - - // RemainingTimeToBulkSoC - if (req.RemainingTimeToBulkSoC_isUsed && req.RemainingTimeToBulkSoC != null) - { - xml.Append(""); - xml.Append($"{req.RemainingTimeToBulkSoC.Multiplier}"); - xml.Append($"{(int)req.RemainingTimeToBulkSoC.Unit}"); - xml.Append($"{req.RemainingTimeToBulkSoC.Value}"); - xml.Append(""); - } - - // EVTargetVoltage (mandatory - appears at the end in C version) - if (req.EVTargetVoltage != null) - { - xml.Append(""); - xml.Append($"{req.EVTargetVoltage.Multiplier}"); - xml.Append($"{(int)req.EVTargetVoltage.Unit}"); - xml.Append($"{req.EVTargetVoltage.Value}"); - xml.Append(""); - } - - xml.Append(""); - return xml.ToString(); - } - - private static string WriteCurrentDemandResXml(CurrentDemandResType res) - { - var xml = new StringBuilder(); - xml.Append(""); - - // ResponseCode (mandatory) - xml.Append($"{(int)res.ResponseCode}"); - - // DC_EVSEStatus (mandatory) - if (res.DC_EVSEStatus != null) - { - xml.Append(""); - xml.Append($"{(int)res.DC_EVSEStatus.EVSEIsolationStatus}"); - xml.Append($"{(int)res.DC_EVSEStatus.EVSEStatusCode}"); - xml.Append(""); - } - - // EVSEPresentVoltage (mandatory) - if (res.EVSEPresentVoltage != null) - { - xml.Append(""); - xml.Append($"{res.EVSEPresentVoltage.Multiplier}"); - xml.Append($"{(int)res.EVSEPresentVoltage.Unit}"); - xml.Append($"{res.EVSEPresentVoltage.Value}"); - xml.Append(""); - } - - // EVSEPresentCurrent (mandatory) - if (res.EVSEPresentCurrent != null) - { - xml.Append(""); - xml.Append($"{res.EVSEPresentCurrent.Multiplier}"); - xml.Append($"{(int)res.EVSEPresentCurrent.Unit}"); - xml.Append($"{res.EVSEPresentCurrent.Value}"); - xml.Append(""); - } - - // Limit flags (mandatory) - xml.Append($"{res.EVSECurrentLimitAchieved.ToString().ToLower()}"); - xml.Append($"{res.EVSEVoltageLimitAchieved.ToString().ToLower()}"); - xml.Append($"{res.EVSEPowerLimitAchieved.ToString().ToLower()}"); - - // EVSEID (mandatory) - xml.Append($"{res.EVSEID}"); - - // SAScheduleTupleID (mandatory) - xml.Append($"{res.SAScheduleTupleID}"); - - xml.Append(""); - return xml.ToString(); - } - - public static byte[] EncodeXmlToExi(string xmlContent) - { - try - { - // Console.Error.WriteLine("🔠[EncodeXmlToExi] Starting XML to EXI encoding..."); - - // Parse XML to determine message type and encode accordingly - var xml = XDocument.Parse(xmlContent); - var ns1 = XNamespace.Get("urn:iso:15118:2:2013:MsgDef"); - var ns2 = XNamespace.Get("urn:iso:15118:2:2013:MsgHeader"); - var ns3 = XNamespace.Get("urn:iso:15118:2:2013:MsgBody"); - var ns4 = XNamespace.Get("urn:iso:15118:2:2013:MsgDataTypes"); - - var messageElement = xml.Root; - var headerElement = messageElement?.Element(ns1 + "Header"); - var bodyElement = messageElement?.Element(ns1 + "Body"); - - if (bodyElement == null) - throw new Exception("No Body element found in XML"); - - // Parse message structure - var v2gMessage = new V2GMessageExact(); - - // Parse Header - if (headerElement != null) - { - var sessionIdElement = headerElement.Element(ns2 + "SessionID"); - if (sessionIdElement != null) - { - v2gMessage.SessionID = sessionIdElement.Value; - // Console.Error.WriteLine($"🔠[Header] SessionID: {v2gMessage.SessionID}"); - } - } - - // Default SessionID if not provided (matching VC2022 test pattern) - if (string.IsNullOrEmpty(v2gMessage.SessionID)) - { - v2gMessage.SessionID = "4142423030303831"; // "ABB00081" in hex - // Console.Error.WriteLine($"🔠[Header] Using default SessionID: {v2gMessage.SessionID}"); - } - - // Parse Body - v2gMessage.Body = new BodyType(); - var currentDemandReq = bodyElement.Element(ns3 + "CurrentDemandReq"); - if (currentDemandReq != null) - { - // Console.Error.WriteLine("🔠[Body] Found CurrentDemandReq message"); - v2gMessage.Body.CurrentDemandReq = ParseCurrentDemandReqXml(currentDemandReq, ns3, ns4); - v2gMessage.Body.CurrentDemandReq_isUsed = true; - } - else - { - var currentDemandRes = bodyElement.Element(ns3 + "CurrentDemandRes"); - if (currentDemandRes != null) - { - // Console.Error.WriteLine("🔠[Body] Found CurrentDemandRes message"); - v2gMessage.Body.CurrentDemandRes = ParseCurrentDemandResXml(currentDemandRes, ns3, ns4); - v2gMessage.Body.CurrentDemandRes_isUsed = true; - } - else - { - throw new Exception("Unsupported message type for encoding - supported: CurrentDemandReq, CurrentDemandRes"); - } - } - - // Create Iso1EXIDocument and encode to EXI using exact encoder - var iso1Doc = EXIEncoderExact.CreateIso1DocumentFromV2GMessage(v2gMessage); - return EXIEncoderExact.EncodeIso1Document(iso1Doc); - } - catch (Exception ex) - { - throw new Exception($"Failed to encode XML to EXI: {ex.Message}", ex); - } - } - - private static CurrentDemandReqType ParseCurrentDemandReqXml(XElement reqElement, XNamespace ns3, XNamespace ns4) - { - var req = new CurrentDemandReqType(); - - // Parse DC_EVStatus - var dcEvStatus = reqElement.Element(ns3 + "DC_EVStatus"); - if (dcEvStatus != null) - { - req.DC_EVStatus = new DC_EVStatusType(); - - var evReady = dcEvStatus.Element(ns4 + "EVReady"); - if (evReady != null) - req.DC_EVStatus.EVReady = bool.Parse(evReady.Value); - - var evErrorCode = dcEvStatus.Element(ns4 + "EVErrorCode"); - if (evErrorCode != null) - req.DC_EVStatus.EVErrorCode = int.Parse(evErrorCode.Value); - - var evRessSoc = dcEvStatus.Element(ns4 + "EVRESSSOC"); - if (evRessSoc != null) - req.DC_EVStatus.EVRESSSOC = byte.Parse(evRessSoc.Value); - } - - // Parse EVTargetCurrent - var evTargetCurrent = reqElement.Element(ns3 + "EVTargetCurrent"); - if (evTargetCurrent != null) - { - req.EVTargetCurrent = ParsePhysicalValueXml(evTargetCurrent, ns4); - } - - // Parse optional elements - var evMaxVoltageLimit = reqElement.Element(ns3 + "EVMaximumVoltageLimit"); - if (evMaxVoltageLimit != null) - { - req.EVMaximumVoltageLimit = ParsePhysicalValueXml(evMaxVoltageLimit, ns4); - req.EVMaximumVoltageLimit_isUsed = true; - } - - var evMaxCurrentLimit = reqElement.Element(ns3 + "EVMaximumCurrentLimit"); - if (evMaxCurrentLimit != null) - { - req.EVMaximumCurrentLimit = ParsePhysicalValueXml(evMaxCurrentLimit, ns4); - req.EVMaximumCurrentLimit_isUsed = true; - } - - var evMaxPowerLimit = reqElement.Element(ns3 + "EVMaximumPowerLimit"); - if (evMaxPowerLimit != null) - { - req.EVMaximumPowerLimit = ParsePhysicalValueXml(evMaxPowerLimit, ns4); - req.EVMaximumPowerLimit_isUsed = true; - } - - var bulkChargingComplete = reqElement.Element(ns3 + "BulkChargingComplete"); - if (bulkChargingComplete != null) - { - req.BulkChargingComplete = bool.Parse(bulkChargingComplete.Value); - // XMLì—서 요소가 명시ì ìœ¼ë¡œ í¬í•¨ë˜ë©´ ê°’ê³¼ ê´€ê³„ì—†ì´ _isUsed = true - req.BulkChargingComplete_isUsed = true; // Element exists in XML - } - - var chargingComplete = reqElement.Element(ns3 + "ChargingComplete"); - if (chargingComplete != null) - { - req.ChargingComplete = bool.Parse(chargingComplete.Value); - // ChargingComplete is mandatory in VC2022 (no _isUsed flag) - } - - var remainingTimeToFullSoc = reqElement.Element(ns3 + "RemainingTimeToFullSoC"); - if (remainingTimeToFullSoc != null) - { - req.RemainingTimeToFullSoC = ParsePhysicalValueXml(remainingTimeToFullSoc, ns4); - req.RemainingTimeToFullSoC_isUsed = true; - } - - var remainingTimeToBulkSoc = reqElement.Element(ns3 + "RemainingTimeToBulkSoC"); - if (remainingTimeToBulkSoc != null) - { - req.RemainingTimeToBulkSoC = ParsePhysicalValueXml(remainingTimeToBulkSoc, ns4); - req.RemainingTimeToBulkSoC_isUsed = true; - } - - var evTargetVoltage = reqElement.Element(ns3 + "EVTargetVoltage"); - if (evTargetVoltage != null) - { - req.EVTargetVoltage = ParsePhysicalValueXml(evTargetVoltage, ns4); - // EVTargetVoltage is mandatory in VC2022 (no _isUsed flag) - } - - return req; - } - - private static CurrentDemandResType ParseCurrentDemandResXml(XElement resElement, XNamespace ns3, XNamespace ns4) - { - var res = new CurrentDemandResType(); - - // Parse ResponseCode - var responseCode = resElement.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - res.ResponseCode = (ResponseCodeType)Enum.Parse(typeof(ResponseCodeType), responseCode.Value); - } - - // Parse DC_EVSEStatus - var dcEvseStatus = resElement.Element(ns3 + "DC_EVSEStatus"); - if (dcEvseStatus != null) - { - res.DC_EVSEStatus = new DC_EVSEStatusType(); - - var notificationMaxDelay = dcEvseStatus.Element(ns4 + "NotificationMaxDelay"); - if (notificationMaxDelay != null) - res.DC_EVSEStatus.NotificationMaxDelay = ushort.Parse(notificationMaxDelay.Value); - - var evseNotification = dcEvseStatus.Element(ns4 + "EVSENotification"); - if (evseNotification != null) - res.DC_EVSEStatus.EVSENotification = (EVSENotificationType)int.Parse(evseNotification.Value); - - var evseIsolationStatus = dcEvseStatus.Element(ns4 + "EVSEIsolationStatus"); - if (evseIsolationStatus != null) - { - res.DC_EVSEStatus.EVSEIsolationStatus = (IsolationLevelType)int.Parse(evseIsolationStatus.Value); - res.DC_EVSEStatus.EVSEIsolationStatus_isUsed = true; - } - - var evseStatusCode = dcEvseStatus.Element(ns4 + "EVSEStatusCode"); - if (evseStatusCode != null) - res.DC_EVSEStatus.EVSEStatusCode = (DC_EVSEStatusCodeType)int.Parse(evseStatusCode.Value); - } - - // Parse EVSEPresentVoltage - var evsePresentVoltage = resElement.Element(ns3 + "EVSEPresentVoltage"); - if (evsePresentVoltage != null) - { - res.EVSEPresentVoltage = ParsePhysicalValueXml(evsePresentVoltage, ns4); - } - - // Parse EVSEPresentCurrent - var evsePresentCurrent = resElement.Element(ns3 + "EVSEPresentCurrent"); - if (evsePresentCurrent != null) - { - res.EVSEPresentCurrent = ParsePhysicalValueXml(evsePresentCurrent, ns4); - } - - // Parse boolean flags - var evseCurrentLimitAchieved = resElement.Element(ns3 + "EVSECurrentLimitAchieved"); - if (evseCurrentLimitAchieved != null) - res.EVSECurrentLimitAchieved = bool.Parse(evseCurrentLimitAchieved.Value); - - var evseVoltageLimitAchieved = resElement.Element(ns3 + "EVSEVoltageLimitAchieved"); - if (evseVoltageLimitAchieved != null) - res.EVSEVoltageLimitAchieved = bool.Parse(evseVoltageLimitAchieved.Value); - - var evsePowerLimitAchieved = resElement.Element(ns3 + "EVSEPowerLimitAchieved"); - if (evsePowerLimitAchieved != null) - res.EVSEPowerLimitAchieved = bool.Parse(evsePowerLimitAchieved.Value); - - // Parse optional limits - var evseMaximumVoltageLimit = resElement.Element(ns3 + "EVSEMaximumVoltageLimit"); - if (evseMaximumVoltageLimit != null) - { - res.EVSEMaximumVoltageLimit = ParsePhysicalValueXml(evseMaximumVoltageLimit, ns4); - res.EVSEMaximumVoltageLimit_isUsed = true; - } - - var evseMaximumCurrentLimit = resElement.Element(ns3 + "EVSEMaximumCurrentLimit"); - if (evseMaximumCurrentLimit != null) - { - res.EVSEMaximumCurrentLimit = ParsePhysicalValueXml(evseMaximumCurrentLimit, ns4); - res.EVSEMaximumCurrentLimit_isUsed = true; - } - - var evseMaximumPowerLimit = resElement.Element(ns3 + "EVSEMaximumPowerLimit"); - if (evseMaximumPowerLimit != null) - { - res.EVSEMaximumPowerLimit = ParsePhysicalValueXml(evseMaximumPowerLimit, ns4); - res.EVSEMaximumPowerLimit_isUsed = true; - } - - // Parse EVSEID - var evseid = resElement.Element(ns3 + "EVSEID"); - if (evseid != null) - res.EVSEID = evseid.Value; - - // Parse SAScheduleTupleID - var saScheduleTupleId = resElement.Element(ns3 + "SAScheduleTupleID"); - if (saScheduleTupleId != null) - res.SAScheduleTupleID = byte.Parse(saScheduleTupleId.Value); - - // Parse MeterInfo (optional) - var meterInfo = resElement.Element(ns3 + "MeterInfo"); - if (meterInfo != null) - { - res.MeterInfo = new MeterInfoType(); - - var meterID = meterInfo.Element(ns4 + "MeterID"); - if (meterID != null) - res.MeterInfo.MeterID = meterID.Value; - - var meterReading = meterInfo.Element(ns4 + "MeterReading"); - if (meterReading != null) - res.MeterInfo.MeterReading = ulong.Parse(meterReading.Value); - - res.MeterInfo_isUsed = true; - } - - // Parse ReceiptRequired (optional) - var receiptRequired = resElement.Element(ns3 + "ReceiptRequired"); - if (receiptRequired != null) - { - res.ReceiptRequired = bool.Parse(receiptRequired.Value); - res.ReceiptRequired_isUsed = true; - } - - return res; - } - - private static PhysicalValueType ParsePhysicalValueXml(XElement element, XNamespace ns4) - { - var value = new PhysicalValueType(); - - var multiplier = element.Element(ns4 + "Multiplier"); - if (multiplier != null) - value.Multiplier = sbyte.Parse(multiplier.Value); - - var unit = element.Element(ns4 + "Unit"); - if (unit != null) - value.Unit = (UnitSymbolType)int.Parse(unit.Value); - - var val = element.Element(ns4 + "Value"); - if (val != null) - value.Value = short.Parse(val.Value); - - return value; - } - - private static string ParseSessionSetupReqAnalysis(XElement sessionSetupReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("📋 Session Setup Request Analysis:"); - analysis.AppendLine(" Purpose: Initialize charging session with EVSE"); - analysis.AppendLine(); - - var evccId = sessionSetupReq.Element(ns3 + "EVCCID"); - if (evccId != null) - { - analysis.AppendLine($" 🔑 EV Controller ID: {evccId.Value}"); - analysis.AppendLine($" Length: {evccId.Value.Length} bytes"); - } - - analysis.AppendLine(" 📊 Session Initialization Process"); - analysis.AppendLine(" ✅ Request sent to establish charging session"); - - return analysis.ToString(); - } - - private static string ParseSessionSetupResAnalysis(XElement sessionSetupRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("📋 Session Setup Response Analysis:"); - analysis.AppendLine(" Purpose: Confirm session establishment"); - analysis.AppendLine(); - - var responseCode = sessionSetupRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - analysis.AppendLine($" Status: {(responseCode.Value == "OK" ? "✅ Success" : "⌠Failed")}"); - } - - var evseId = sessionSetupRes.Element(ns3 + "EVSEID"); - if (evseId != null) - { - analysis.AppendLine($" 🭠EVSE ID: {evseId.Value}"); - } - - var evseTimeStamp = sessionSetupRes.Element(ns3 + "EVSETimeStamp"); - if (evseTimeStamp != null) - { - analysis.AppendLine($" â° EVSE Timestamp: {evseTimeStamp.Value}"); - } - - analysis.AppendLine(" 🔄 Session established successfully"); - - return analysis.ToString(); - } - - private static string ParseServiceDiscoveryReqAnalysis(XElement serviceDiscoveryReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔠Service Discovery Request Analysis:"); - analysis.AppendLine(" Purpose: Discover available charging services"); - analysis.AppendLine(); - - var serviceScope = serviceDiscoveryReq.Element(ns3 + "ServiceScope"); - if (serviceScope != null) - { - analysis.AppendLine($" 🎯 Service Scope: {serviceScope.Value}"); - } - - var serviceCategory = serviceDiscoveryReq.Element(ns3 + "ServiceCategory"); - if (serviceCategory != null) - { - analysis.AppendLine($" 📂 Service Category: {serviceCategory.Value}"); - } - - analysis.AppendLine(" 🔠Requesting available services from EVSE"); - analysis.AppendLine(" 📋 Preparing for service selection phase"); - - return analysis.ToString(); - } - - private static string ParseServiceDiscoveryResAnalysis(XElement serviceDiscoveryRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔠Service Discovery Response Analysis:"); - analysis.AppendLine(" Purpose: Provide available charging services"); - analysis.AppendLine(); - - var responseCode = serviceDiscoveryRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - analysis.AppendLine($" Status: {(responseCode.Value == "OK" ? "✅ Success" : "⌠Failed")}"); - } - - var paymentOptionList = serviceDiscoveryRes.Element(ns3 + "PaymentOptionList"); - if (paymentOptionList != null) - { - analysis.AppendLine(" 💳 Available Payment Options:"); - var paymentOptions = paymentOptionList.Elements(ns3 + "PaymentOption"); - foreach (var option in paymentOptions) - { - analysis.AppendLine($" • {option.Value}"); - } - } - - var chargeService = serviceDiscoveryRes.Element(ns3 + "ChargeService"); - if (chargeService != null) - { - analysis.AppendLine(" âš¡ Charging Service Available:"); - - var serviceId = chargeService.Element(ns3 + "ServiceID"); - if (serviceId != null) - { - analysis.AppendLine($" 🆔 Service ID: {serviceId.Value}"); - } - - var serviceCategory = chargeService.Element(ns3 + "ServiceCategory"); - if (serviceCategory != null) - { - analysis.AppendLine($" 📂 Category: {serviceCategory.Value}"); - } - - var freeService = chargeService.Element(ns3 + "FreeService"); - if (freeService != null) - { - analysis.AppendLine($" 💰 Free Service: {freeService.Value}"); - } - } - - var serviceList = serviceDiscoveryRes.Element(ns3 + "ServiceList"); - if (serviceList != null) - { - analysis.AppendLine(" 📋 Additional Services:"); - var services = serviceList.Elements(ns3 + "Service"); - int serviceCount = 0; - foreach (var service in services) - { - serviceCount++; - var serviceId = service.Element(ns3 + "ServiceID"); - var serviceName = service.Element(ns3 + "ServiceName"); - analysis.AppendLine($" {serviceCount}. ID: {serviceId?.Value}, Name: {serviceName?.Value}"); - } - } - - return analysis.ToString(); - } - - private static string ParseAuthorizationReqAnalysis(XElement authorizationReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔠Authorization Request Analysis:"); - analysis.AppendLine(" Purpose: Authenticate and authorize charging"); - analysis.AppendLine(); - - var idTokenInfo = authorizationReq.Element(ns3 + "Id"); - if (idTokenInfo != null) - { - analysis.AppendLine($" 🎫 ID Token: {idTokenInfo.Value}"); - } - - var genChallenge = authorizationReq.Element(ns3 + "GenChallenge"); - if (genChallenge != null) - { - analysis.AppendLine($" 🔑 Generated Challenge: {genChallenge.Value}"); - analysis.AppendLine($" Length: {genChallenge.Value.Length} bytes"); - } - - analysis.AppendLine(" 🔒 Requesting authorization for charging session"); - analysis.AppendLine(" ðŸ›¡ï¸ Security challenge-response mechanism active"); - - return analysis.ToString(); - } - - private static string ParseAuthorizationResAnalysis(XElement authorizationRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔠Authorization Response Analysis:"); - analysis.AppendLine(" Purpose: Confirm authorization status"); - analysis.AppendLine(); - - var responseCode = authorizationRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - analysis.AppendLine($" Authorization: {(responseCode.Value == "OK" ? "✅ Granted" : "⌠Denied")}"); - } - - var evseProcesing = authorizationRes.Element(ns3 + "EVSEProcessing"); - if (evseProcesing != null) - { - analysis.AppendLine($" âš™ï¸ EVSE Processing: {evseProcesing.Value}"); - string processingStatus = evseProcesing.Value switch - { - "Finished" => "✅ Complete", - "Ongoing" => "🔄 In Progress", - _ => "âš ï¸ Unknown" - }; - analysis.AppendLine($" Status: {processingStatus}"); - } - - analysis.AppendLine(" 🔓 Authorization process completed"); - - return analysis.ToString(); - } - - private static string ParseChargeParameterDiscoveryReqAnalysis(XElement chargeParamReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("âš¡ Charge Parameter Discovery Request Analysis:"); - analysis.AppendLine(" Purpose: Exchange charging parameters and capabilities"); - analysis.AppendLine(); - - var maxEntriesSaScheduleTuple = chargeParamReq.Element(ns3 + "MaxEntriesSAScheduleTuple"); - if (maxEntriesSaScheduleTuple != null) - { - analysis.AppendLine($" 📊 Max SA Schedule Entries: {maxEntriesSaScheduleTuple.Value}"); - } - - var requestedEnergyTransferMode = chargeParamReq.Element(ns3 + "RequestedEnergyTransferMode"); - if (requestedEnergyTransferMode != null) - { - analysis.AppendLine($" 🔌 Energy Transfer Mode: {requestedEnergyTransferMode.Value}"); - } - - var dcEvChargeParameter = chargeParamReq.Element(ns3 + "DC_EVChargeParameter"); - if (dcEvChargeParameter != null) - { - analysis.AppendLine(" 🔋 DC EV Charge Parameters:"); - - var dcEvStatus = dcEvChargeParameter.Element(ns4 + "DC_EVStatus"); - if (dcEvStatus != null) - { - var evReady = dcEvStatus.Element(ns4 + "EVReady"); - var evErrorCode = dcEvStatus.Element(ns4 + "EVErrorCode"); - var evRessSoc = dcEvStatus.Element(ns4 + "EVRESSSOC"); - - if (evReady != null) - analysis.AppendLine($" 🚗 EV Ready: {evReady.Value}"); - if (evErrorCode != null) - analysis.AppendLine($" ⌠Error Code: {evErrorCode.Value}"); - if (evRessSoc != null) - analysis.AppendLine($" 🔋 Battery SoC: {evRessSoc.Value}%"); - } - - var evMaxCurrent = dcEvChargeParameter.Element(ns4 + "EVMaximumCurrentLimit"); - if (evMaxCurrent != null) - { - var value = evMaxCurrent.Element(ns4 + "Value"); - var unit = evMaxCurrent.Element(ns4 + "Unit"); - var multiplier = evMaxCurrent.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ Max Current: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evMaxVoltage = dcEvChargeParameter.Element(ns4 + "EVMaximumVoltageLimit"); - if (evMaxVoltage != null) - { - var value = evMaxVoltage.Element(ns4 + "Value"); - var unit = evMaxVoltage.Element(ns4 + "Unit"); - var multiplier = evMaxVoltage.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🔌 Max Voltage: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evMaxPower = dcEvChargeParameter.Element(ns4 + "EVMaximumPowerLimit"); - if (evMaxPower != null) - { - var value = evMaxPower.Element(ns4 + "Value"); - var unit = evMaxPower.Element(ns4 + "Unit"); - var multiplier = evMaxPower.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ Max Power: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evEnergyCapacity = dcEvChargeParameter.Element(ns4 + "EVEnergyCapacity"); - if (evEnergyCapacity != null) - { - var value = evEnergyCapacity.Element(ns4 + "Value"); - var unit = evEnergyCapacity.Element(ns4 + "Unit"); - var multiplier = evEnergyCapacity.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🔋 Energy Capacity: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evEnergyRequest = dcEvChargeParameter.Element(ns4 + "EVEnergyRequest"); - if (evEnergyRequest != null) - { - var value = evEnergyRequest.Element(ns4 + "Value"); - var unit = evEnergyRequest.Element(ns4 + "Unit"); - var multiplier = evEnergyRequest.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🎯 Energy Request: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var fullSoc = dcEvChargeParameter.Element(ns4 + "FullSOC"); - if (fullSoc != null) - { - analysis.AppendLine($" 🔋 Full SoC: {fullSoc.Value}%"); - } - - var bulkSoc = dcEvChargeParameter.Element(ns4 + "BulkSOC"); - if (bulkSoc != null) - { - analysis.AppendLine($" 🔋 Bulk SoC: {bulkSoc.Value}%"); - } - } - - analysis.AppendLine(" 📋 Requesting EVSE charging parameters"); - - return analysis.ToString(); - } - - private static string ParseChargeParameterDiscoveryResAnalysis(XElement chargeParamRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("âš¡ Charge Parameter Discovery Response Analysis:"); - analysis.AppendLine(" Purpose: Provide EVSE charging capabilities and schedules"); - analysis.AppendLine(); - - var responseCode = chargeParamRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - analysis.AppendLine($" Status: {(responseCode.Value == "OK" ? "✅ Success" : "⌠Failed")}"); - } - - var evseProcesing = chargeParamRes.Element(ns3 + "EVSEProcessing"); - if (evseProcesing != null) - { - analysis.AppendLine($" âš™ï¸ EVSE Processing: {evseProcesing.Value}"); - } - - var saScheduleList = chargeParamRes.Element(ns3 + "SAScheduleList"); - if (saScheduleList != null) - { - analysis.AppendLine(" 📅 SA Schedule List:"); - var schedules = saScheduleList.Elements(ns3 + "SAScheduleTuple"); - int scheduleCount = 0; - foreach (var schedule in schedules) - { - scheduleCount++; - analysis.AppendLine($" 📅 Schedule {scheduleCount}:"); - - var saScheduleTupleId = schedule.Element(ns4 + "SAScheduleTupleID"); - if (saScheduleTupleId != null) - analysis.AppendLine($" 🆔 ID: {saScheduleTupleId.Value}"); - - var pMaxSchedule = schedule.Element(ns4 + "PMaxSchedule"); - if (pMaxSchedule != null) - { - analysis.AppendLine(" âš¡ Power Schedule:"); - var pMaxScheduleEntries = pMaxSchedule.Elements(ns4 + "PMaxScheduleEntry"); - foreach (var entry in pMaxScheduleEntries) - { - var relativeTimeInterval = entry.Element(ns4 + "RelativeTimeInterval"); - var pMax = entry.Element(ns4 + "PMax"); - if (relativeTimeInterval != null && pMax != null) - { - var start = relativeTimeInterval.Element(ns4 + "start"); - var duration = relativeTimeInterval.Element(ns4 + "duration"); - var pMaxValue = pMax.Element(ns4 + "Value"); - analysis.AppendLine($" â° Start: {start?.Value}s, Duration: {duration?.Value}s, Power: {pMaxValue?.Value}W"); - } - } - } - - var salesTariff = schedule.Element(ns4 + "SalesTariff"); - if (salesTariff != null) - { - analysis.AppendLine(" 💰 Sales Tariff Available"); - var salesTariffId = salesTariff.Element(ns4 + "Id"); - if (salesTariffId != null) - analysis.AppendLine($" 🆔 Tariff ID: {salesTariffId.Value}"); - } - } - } - - var dcEvseChargeParameter = chargeParamRes.Element(ns3 + "DC_EVSEChargeParameter"); - if (dcEvseChargeParameter != null) - { - analysis.AppendLine(" 🭠DC EVSE Charge Parameters:"); - - var dcEvseStatus = dcEvseChargeParameter.Element(ns4 + "DC_EVSEStatus"); - if (dcEvseStatus != null) - { - var notificationMaxDelay = dcEvseStatus.Element(ns4 + "NotificationMaxDelay"); - var evseNotification = dcEvseStatus.Element(ns4 + "EVSENotification"); - var evseIsolationStatus = dcEvseStatus.Element(ns4 + "EVSEIsolationStatus"); - - if (notificationMaxDelay != null) - analysis.AppendLine($" â° Max Notification Delay: {notificationMaxDelay.Value}s"); - if (evseNotification != null) - analysis.AppendLine($" 📢 EVSE Notification: {evseNotification.Value}"); - if (evseIsolationStatus != null) - analysis.AppendLine($" 🔌 Isolation Status: {evseIsolationStatus.Value}"); - } - - var evseMaxCurrent = dcEvseChargeParameter.Element(ns4 + "EVSEMaximumCurrentLimit"); - if (evseMaxCurrent != null) - { - var value = evseMaxCurrent.Element(ns4 + "Value"); - var unit = evseMaxCurrent.Element(ns4 + "Unit"); - var multiplier = evseMaxCurrent.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ EVSE Max Current: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseMaxVoltage = dcEvseChargeParameter.Element(ns4 + "EVSEMaximumVoltageLimit"); - if (evseMaxVoltage != null) - { - var value = evseMaxVoltage.Element(ns4 + "Value"); - var unit = evseMaxVoltage.Element(ns4 + "Unit"); - var multiplier = evseMaxVoltage.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🔌 EVSE Max Voltage: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseMaxPower = dcEvseChargeParameter.Element(ns4 + "EVSEMaximumPowerLimit"); - if (evseMaxPower != null) - { - var value = evseMaxPower.Element(ns4 + "Value"); - var unit = evseMaxPower.Element(ns4 + "Unit"); - var multiplier = evseMaxPower.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ EVSE Max Power: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseMinCurrent = dcEvseChargeParameter.Element(ns4 + "EVSEMinimumCurrentLimit"); - if (evseMinCurrent != null) - { - var value = evseMinCurrent.Element(ns4 + "Value"); - var unit = evseMinCurrent.Element(ns4 + "Unit"); - var multiplier = evseMinCurrent.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ EVSE Min Current: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseMinVoltage = dcEvseChargeParameter.Element(ns4 + "EVSEMinimumVoltageLimit"); - if (evseMinVoltage != null) - { - var value = evseMinVoltage.Element(ns4 + "Value"); - var unit = evseMinVoltage.Element(ns4 + "Unit"); - var multiplier = evseMinVoltage.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🔌 EVSE Min Voltage: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseCurrentRegulationTolerance = dcEvseChargeParameter.Element(ns4 + "EVSECurrentRegulationTolerance"); - if (evseCurrentRegulationTolerance != null) - { - var value = evseCurrentRegulationTolerance.Element(ns4 + "Value"); - var unit = evseCurrentRegulationTolerance.Element(ns4 + "Unit"); - var multiplier = evseCurrentRegulationTolerance.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 📊 Current Regulation Tolerance: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evsePeakCurrentRipple = dcEvseChargeParameter.Element(ns4 + "EVSEPeakCurrentRipple"); - if (evsePeakCurrentRipple != null) - { - var value = evsePeakCurrentRipple.Element(ns4 + "Value"); - var unit = evsePeakCurrentRipple.Element(ns4 + "Unit"); - var multiplier = evsePeakCurrentRipple.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🌊 Peak Current Ripple: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var evseEnergyToBeDelivered = dcEvseChargeParameter.Element(ns4 + "EVSEEnergyToBeDelivered"); - if (evseEnergyToBeDelivered != null) - { - var value = evseEnergyToBeDelivered.Element(ns4 + "Value"); - var unit = evseEnergyToBeDelivered.Element(ns4 + "Unit"); - var multiplier = evseEnergyToBeDelivered.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" 🎯 Energy To Deliver: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - } - - return analysis.ToString(); - } - - private static string ParsePaymentServiceSelectionReqAnalysis(XElement paymentServiceSelectionReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("💳 Payment Service Selection Request Analysis:"); - analysis.AppendLine(" Purpose: Select payment method for charging session"); - analysis.AppendLine(); - - var selectedPaymentOption = paymentServiceSelectionReq.Element(ns3 + "SelectedPaymentOption"); - if (selectedPaymentOption != null) - { - analysis.AppendLine($" 🆔 Selected Payment Option: {selectedPaymentOption.Value}"); - string paymentType = selectedPaymentOption.Value switch - { - "Contract" => "🔗 Contract-based payment", - "ExternalPayment" => "💰 External payment method", - _ => $"â“ Unknown ({selectedPaymentOption.Value})" - }; - analysis.AppendLine($" Type: {paymentType}"); - } - - var selectedServiceList = paymentServiceSelectionReq.Element(ns3 + "SelectedServiceList"); - if (selectedServiceList != null) - { - analysis.AppendLine(" 📋 Selected Service List:"); - var selectedServices = selectedServiceList.Elements(ns3 + "SelectedService"); - int serviceCount = 0; - foreach (var service in selectedServices) - { - serviceCount++; - var serviceId = service.Element(ns3 + "ServiceID"); - var parameterSetId = service.Element(ns3 + "ParameterSetID"); - - analysis.AppendLine($" {serviceCount}. Service ID: {serviceId?.Value}"); - if (parameterSetId != null) - analysis.AppendLine($" Parameter Set ID: {parameterSetId.Value}"); - } - - if (serviceCount == 0) - analysis.AppendLine(" No services selected"); - } - - analysis.AppendLine(" ✅ Payment service selection requested"); - return analysis.ToString(); - } - - private static string ParsePaymentServiceSelectionResAnalysis(XElement paymentServiceSelectionRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("💳 Payment Service Selection Response Analysis:"); - analysis.AppendLine(" Purpose: Confirm payment method selection"); - analysis.AppendLine(); - - var responseCode = paymentServiceSelectionRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - string status = responseCode.Value switch - { - "OK" => "✅ Payment selection accepted", - "OK_NewSessionEstablished" => "✅ New session established", - "FAILED" => "⌠Payment selection failed", - _ => $"âš ï¸ Unknown ({responseCode.Value})" - }; - analysis.AppendLine($" Status: {status}"); - } - - analysis.AppendLine(" 🔄 Payment method selection completed"); - return analysis.ToString(); - } - - private static string ParseChargingStatusReqAnalysis(XElement chargingStatusReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔋 Charging Status Request Analysis:"); - analysis.AppendLine(" Purpose: Request AC charging status information"); - analysis.AppendLine(); - - analysis.AppendLine(" 🔠Requesting current charging status from EVSE"); - analysis.AppendLine(" 📊 Status inquiry for AC charging session"); - return analysis.ToString(); - } - - private static string ParseChargingStatusResAnalysis(XElement chargingStatusRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🔋 Charging Status Response Analysis:"); - analysis.AppendLine(" Purpose: Provide AC charging status information"); - analysis.AppendLine(); - - var responseCode = chargingStatusRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - string status = responseCode.Value switch - { - "OK" => "✅ Success", - "OK_NewSessionEstablished" => "✅ New session established", - "FAILED" => "⌠Failed", - _ => $"âš ï¸ Unknown ({responseCode.Value})" - }; - analysis.AppendLine($" Status: {status}"); - } - - var evseId = chargingStatusRes.Element(ns3 + "EVSEID"); - if (evseId != null) - { - analysis.AppendLine($" 🭠EVSE ID: {evseId.Value}"); - } - - var saScheduleTupleId = chargingStatusRes.Element(ns3 + "SAScheduleTupleID"); - if (saScheduleTupleId != null) - { - analysis.AppendLine($" 🔌 SA Schedule Tuple ID: {saScheduleTupleId.Value}"); - } - - var evseMaxCurrent = chargingStatusRes.Element(ns3 + "EVSEMaxCurrent"); - if (evseMaxCurrent != null) - { - var value = evseMaxCurrent.Element(ns4 + "Value"); - var unit = evseMaxCurrent.Element(ns4 + "Unit"); - var multiplier = evseMaxCurrent.Element(ns4 + "Multiplier"); - if (value != null) - analysis.AppendLine($" âš¡ EVSE Max Current: {value.Value} {GetUnitString(unit?.Value)} (10^{multiplier?.Value ?? "0"})"); - } - - var meterInfo = chargingStatusRes.Element(ns3 + "MeterInfo"); - if (meterInfo != null) - { - analysis.AppendLine(" 📊 Meter Information:"); - - var meterId = meterInfo.Element(ns3 + "MeterID"); - if (meterId != null) - analysis.AppendLine($" 🆔 Meter ID: {meterId.Value}"); - - var meterReading = meterInfo.Element(ns3 + "MeterReading"); - if (meterReading != null) - analysis.AppendLine($" 📠Meter Reading: {meterReading.Value} Wh"); - - var sigMeterReading = meterInfo.Element(ns3 + "SigMeterReading"); - if (sigMeterReading != null) - analysis.AppendLine($" 🔠Signed Meter Reading: [Length: {sigMeterReading.Value.Length}]"); - - var meterStatus = meterInfo.Element(ns3 + "MeterStatus"); - if (meterStatus != null) - analysis.AppendLine($" 📊 Meter Status: {meterStatus.Value}"); - } - - var receiptRequired = chargingStatusRes.Element(ns3 + "ReceiptRequired"); - if (receiptRequired != null) - { - analysis.AppendLine($" 🧾 Receipt Required: {receiptRequired.Value}"); - } - - analysis.AppendLine(" ✅ AC charging status provided"); - return analysis.ToString(); - } - - private static string ParseSessionStopReqAnalysis(XElement sessionStopReq, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🛑 Session Stop Request Analysis:"); - analysis.AppendLine(" Purpose: Request charging session termination"); - analysis.AppendLine(); - - var chargingSession = sessionStopReq.Element(ns3 + "ChargingSession"); - if (chargingSession != null) - { - analysis.AppendLine($" 🔄 Charging Session: {chargingSession.Value}"); - string sessionType = chargingSession.Value switch - { - "Terminate" => "✅ Terminate - Session ending completely", - "Pause" => "â¸ï¸ Pause - Session paused temporarily", - _ => $"âš ï¸ Unknown ({chargingSession.Value})" - }; - analysis.AppendLine($" Type: {sessionType}"); - } - - analysis.AppendLine(" 🛑 Requesting session termination"); - return analysis.ToString(); - } - - private static string ParseSessionStopResAnalysis(XElement sessionStopRes, XNamespace ns3, XNamespace ns4) - { - var analysis = new StringBuilder(); - analysis.AppendLine("🛑 Session Stop Response Analysis:"); - analysis.AppendLine(" Purpose: Confirm charging session termination"); - analysis.AppendLine(); - - var responseCode = sessionStopRes.Element(ns3 + "ResponseCode"); - if (responseCode != null) - { - analysis.AppendLine($" 📊 Response Code: {responseCode.Value}"); - string status = responseCode.Value switch - { - "OK" => "✅ Session terminated successfully", - "OK_NewSessionEstablished" => "✅ New session established", - "FAILED" => "⌠Session termination failed", - _ => $"âš ï¸ Unknown ({responseCode.Value})" - }; - analysis.AppendLine($" Status: {status}"); - } - - analysis.AppendLine(" 🔚 Charging session terminated"); - return analysis.ToString(); - } - - private static string GetUnitString(string? unitValue) - { - return unitValue switch - { - "5" => "A", // Ampere - "29" => "V", // Volt - "38" => "W", // Watt - "33" => "Wh", // Watt-hour - "159" => "s", // Second - _ => $"Unit({unitValue})" - }; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/V2GProtocol.cs b/Port/dotnet/V2G/V2GProtocol.cs deleted file mode 100644 index f7325d9..0000000 --- a/Port/dotnet/V2G/V2GProtocol.cs +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -using System; -using V2GDecoderNet.EXI; - -namespace V2GDecoderNet.V2G -{ - /// - /// V2G Transfer Protocol constants and definitions - /// - public static class V2GProtocol - { - // Network protocol patterns - public const ushort ETH_TYPE_IPV6 = 0x86DD; - public const byte IPV6_NEXT_HEADER_TCP = 0x06; - public const ushort TCP_V2G_PORT = 15118; - - // V2G Transfer Protocol patterns - public const byte V2G_PROTOCOL_VERSION = 0x01; - public const byte V2G_INV_PROTOCOL_VERSION = 0xFE; - public const ushort V2G_PAYLOAD_ISO_DIN_SAP = 0x8001; - public const ushort V2G_PAYLOAD_ISO2 = 0x8002; - public const ushort EXI_START_PATTERN = 0x8098; - - /// - /// Get payload type name for display - /// - /// Payload type value - /// Human-readable payload type name - public static string GetPayloadTypeName(ushort payloadType) - { - return payloadType switch - { - V2G_PAYLOAD_ISO_DIN_SAP => "ISO 15118-2/DIN/SAP", - V2G_PAYLOAD_ISO2 => "ISO 15118-20", - _ => "Unknown" - }; - } - - /// - /// Extract EXI body from V2G Transfer Protocol data - /// - /// Input data containing V2GTP header and EXI body - /// Extracted EXI body data - public static byte[] ExtractEXIBody(byte[] inputData) - { - if (inputData == null || inputData.Length < 8) - { - // Too small for V2GTP header, assume it's pure EXI - return inputData ?? Array.Empty(); - } - - // First, look for V2G Transfer Protocol header anywhere in the data - // Pattern: 0x01 0xFE 0x80 0x01 (V2GTP header for ISO/DIN/SAP) - for (int i = 0; i <= inputData.Length - 8; i++) - { - if (inputData[i] == V2G_PROTOCOL_VERSION && inputData[i + 1] == V2G_INV_PROTOCOL_VERSION) - { - ushort payloadType = (ushort)((inputData[i + 2] << 8) | inputData[i + 3]); - - if (payloadType == V2G_PAYLOAD_ISO_DIN_SAP || payloadType == V2G_PAYLOAD_ISO2) - { - // Valid V2GTP header found: skip 8-byte header to get EXI body - int exiStart = i + 8; - var exiBody = new byte[inputData.Length - exiStart]; - Array.Copy(inputData, exiStart, exiBody, 0, exiBody.Length); - return exiBody; - } - } - } - - // If no V2GTP header found, look for EXI start pattern anywhere in the data - for (int i = 0; i <= inputData.Length - 2; i++) - { - ushort pattern = (ushort)((inputData[i] << 8) | inputData[i + 1]); - if (pattern == EXI_START_PATTERN) - { - // Found EXI start pattern - var exiBody = new byte[inputData.Length - i]; - Array.Copy(inputData, i, exiBody, 0, exiBody.Length); - return exiBody; - } - } - - // No pattern found, assume it's pure EXI - return inputData; - } - - /// - /// Analyze complete packet structure - /// - /// Packet data - /// Analysis result - public static PacketAnalysis AnalyzeDataStructure(byte[] data) - { - var analysis = new PacketAnalysis - { - TotalSize = data?.Length ?? 0, - HasEthernetHeader = false, - HasIPv6Header = false, - HasTCPHeader = false, - HasV2GTPHeader = false, - V2GTPPayloadType = 0, - EXIBodyOffset = 0, - EXIBodyLength = 0 - }; - - if (data == null || data.Length == 0) - return analysis; - - int offset = 0; - - // Check for Ethernet header (at least 14 bytes) - if (data.Length >= 14) - { - ushort etherType = (ushort)((data[12] << 8) | data[13]); - if (etherType == ETH_TYPE_IPV6) - { - analysis.HasEthernetHeader = true; - offset = 14; - } - } - - // Check for IPv6 header (40 bytes) - if (analysis.HasEthernetHeader && data.Length >= offset + 40) - { - byte version = (byte)((data[offset] >> 4) & 0x0F); - if (version == 6) - { - analysis.HasIPv6Header = true; - byte nextHeader = data[offset + 6]; - if (nextHeader == IPV6_NEXT_HEADER_TCP) - { - offset += 40; - } - } - } - - // Check for TCP header (at least 20 bytes) - if (analysis.HasIPv6Header && data.Length >= offset + 20) - { - ushort destPort = (ushort)((data[offset + 2] << 8) | data[offset + 3]); - if (destPort == TCP_V2G_PORT) - { - analysis.HasTCPHeader = true; - byte headerLength = (byte)((data[offset + 12] >> 4) * 4); - offset += headerLength; - } - } - - // Check for V2GTP header - if (data.Length >= offset + 8) - { - if (data[offset] == V2G_PROTOCOL_VERSION && data[offset + 1] == V2G_INV_PROTOCOL_VERSION) - { - analysis.HasV2GTPHeader = true; - analysis.V2GTPPayloadType = (ushort)((data[offset + 2] << 8) | data[offset + 3]); - offset += 8; - } - } - - // Remaining data is EXI body - analysis.EXIBodyOffset = offset; - analysis.EXIBodyLength = Math.Max(0, data.Length - offset); - - return analysis; - } - } - - /// - /// Packet analysis result - /// - public class PacketAnalysis - { - public int TotalSize { get; set; } - public bool HasEthernetHeader { get; set; } - public bool HasIPv6Header { get; set; } - public bool HasTCPHeader { get; set; } - public bool HasV2GTPHeader { get; set; } - public ushort V2GTPPayloadType { get; set; } - public int EXIBodyOffset { get; set; } - public int EXIBodyLength { get; set; } - - public string GetPayloadTypeName() - { - return V2GProtocol.GetPayloadTypeName(V2GTPPayloadType); - } - - public override string ToString() - { - var parts = new List(); - if (HasEthernetHeader) parts.Add("Ethernet"); - if (HasIPv6Header) parts.Add("IPv6"); - if (HasTCPHeader) parts.Add("TCP"); - if (HasV2GTPHeader) parts.Add($"V2GTP ({GetPayloadTypeName()})"); - - var structure = parts.Count > 0 ? string.Join(" → ", parts) : "Raw data"; - return $"{structure} | EXI: {EXIBodyLength} bytes @ offset {EXIBodyOffset}"; - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2G/V2GTypesExact.cs b/Port/dotnet/V2G/V2GTypesExact.cs deleted file mode 100644 index 68c9c28..0000000 --- a/Port/dotnet/V2G/V2GTypesExact.cs +++ /dev/null @@ -1,435 +0,0 @@ -/* - * Copyright (C) 2007-2024 C# Port - * Original Copyright (C) 2007-2018 Siemens AG - * - * Exact V2G types and enumerations - byte-compatible with OpenV2G ISO1 implementation - * Based on iso1EXIDatatypes.h - */ - -using System; - -namespace V2GDecoderNet.V2G -{ - /// - /// Response code enumeration - exact match to iso1responseCodeType - /// 5-bit encoding (0-31) - /// - public enum ResponseCodeType - { - OK = 0, - OK_NewSessionEstablished = 1, - OK_OldSessionJoined = 2, - OK_CertificateExpiresSoon = 3, - FAILED = 4, - FAILED_SequenceError = 5, - FAILED_ServiceIDInvalid = 6, - FAILED_UnknownSession = 7, - FAILED_ServiceSelectionInvalid = 8, - FAILED_PaymentSelectionInvalid = 9, - FAILED_CertificateExpired = 10, - FAILED_SignatureError = 11, - FAILED_NoCertificateAvailable = 12, - FAILED_CertChainError = 13, - FAILED_ChallengeInvalid = 14, - FAILED_ContractCanceled = 15, - FAILED_WrongChargeParameter = 16, - FAILED_PowerDeliveryNotApplied = 17, - FAILED_TariffSelectionInvalid = 18, - FAILED_ChargingProfileInvalid = 19, - FAILED_MeteringSignatureNotValid = 20, - FAILED_NoChargeServiceSelected = 21, - FAILED_WrongEnergyTransferMode = 22, - FAILED_ContactorError = 23, - FAILED_CertificateNotAllowedAtThisEVSE = 24, - FAILED_CertificateRevoked = 25 - } - - /// - /// Unit symbol enumeration - exact match to iso1unitSymbolType - /// 3-bit encoding (0-7) - /// - public enum UnitSymbolType - { - h = 0, // hours - m = 1, // meters - s = 2, // seconds - A = 3, // amperes - V = 4, // volts - W = 5, // watts - Wh = 6 // watt-hours - } - - /// - /// EVSE isolation status enumeration - exact match to iso1isolationLevelType - /// 3-bit encoding (0-7) - /// - public enum IsolationLevelType - { - Invalid = 0, - Valid = 1, - Warning = 2, - Fault = 3, - No_IMD = 4 - } - - /// - /// EVSE status code enumeration - exact match to iso1DC_EVSEStatusCodeType - /// 4-bit encoding (0-15) - /// - public enum DC_EVSEStatusCodeType - { - EVSE_NotReady = 0, - EVSE_Ready = 1, - EVSE_Shutdown = 2, - EVSE_UtilityInterruptEvent = 3, - EVSE_IsolationMonitoringActive = 4, - EVSE_EmergencyShutdown = 5, - EVSE_Malfunction = 6, - Reserved_8 = 7, - Reserved_9 = 8, - Reserved_A = 9, - Reserved_B = 10, - Reserved_C = 11 - } - - /// - /// EVSE notification enumeration - exact match to iso1EVSENotificationType - /// 2-bit encoding (0-3) - /// - public enum EVSENotificationType - { - None = 0, - StopCharging = 1, - ReNegotiation = 2 - } - - /// - /// Physical value structure - exact match to iso1PhysicalValueType - /// - public class PhysicalValueType - { - /// - /// Power-of-10 multiplier (-3 to +3) - encoded as 3-bit (value + 3) - /// - public sbyte Multiplier { get; set; } - - /// - /// Unit symbol - encoded as 3-bit enumeration - /// - public UnitSymbolType Unit { get; set; } - - /// - /// Actual value - encoded as 16-bit signed integer - /// - public short Value { get; set; } - - public PhysicalValueType() - { - Multiplier = 0; - Unit = (UnitSymbolType)0; // Match VC2022 uninitialized memory behavior - Value = 0; - } - - public PhysicalValueType(sbyte multiplier, UnitSymbolType unit, short value) - { - Multiplier = multiplier; - Unit = unit; - Value = value; - } - } - - /// - /// DC EVSE status structure - exact match to iso1DC_EVSEStatusType - /// - public class DC_EVSEStatusType - { - /// - /// Notification max delay - 16-bit unsigned integer - /// - public ushort NotificationMaxDelay { get; set; } - - /// - /// EVSE notification - 2-bit enumeration - /// - public EVSENotificationType EVSENotification { get; set; } - - /// - /// EVSE isolation status - 3-bit enumeration (optional) - /// - public IsolationLevelType EVSEIsolationStatus { get; set; } - - /// - /// Optional flag for EVSEIsolationStatus - /// - public bool EVSEIsolationStatus_isUsed { get; set; } - - /// - /// EVSE status code - 4-bit enumeration - /// - public DC_EVSEStatusCodeType EVSEStatusCode { get; set; } - - public DC_EVSEStatusType() - { - NotificationMaxDelay = 0; - EVSENotification = EVSENotificationType.None; - EVSEIsolationStatus = IsolationLevelType.Invalid; - EVSEIsolationStatus_isUsed = false; - EVSEStatusCode = DC_EVSEStatusCodeType.EVSE_NotReady; - } - } - - /// - /// Meter info structure - exact match to iso1MeterInfoType - /// - public class MeterInfoType - { - public string MeterID { get; set; } = ""; - public ulong MeterReading { get; set; } - public sbyte SigMeterReading { get; set; } - public string MeterStatus { get; set; } = ""; - public long TMeter { get; set; } - } - - /// - /// Current demand response structure - exact match to iso1CurrentDemandResType - /// Grammar states 317-330 - /// - public class CurrentDemandResType - { - /// - /// Response code - 5-bit enumeration (Grammar state 317) - /// - public ResponseCodeType ResponseCode { get; set; } - - /// - /// DC EVSE status - complex type (Grammar state 318) - /// - public DC_EVSEStatusType DC_EVSEStatus { get; set; } - - /// - /// EVSE present voltage - PhysicalValue (Grammar state 319) - /// - public PhysicalValueType EVSEPresentVoltage { get; set; } - - /// - /// EVSE present current - PhysicalValue (Grammar state 320) - /// - public PhysicalValueType EVSEPresentCurrent { get; set; } - - /// - /// Current limit achieved flag (Grammar state 321) - /// - public bool EVSECurrentLimitAchieved { get; set; } - - /// - /// Voltage limit achieved flag (Grammar state 322) - /// - public bool EVSEVoltageLimitAchieved { get; set; } - - /// - /// Power limit achieved flag (Grammar state 323) - /// - public bool EVSEPowerLimitAchieved { get; set; } - - /// - /// Maximum voltage limit (Optional - Grammar state 324 choice 0 → 325) - /// - public PhysicalValueType EVSEMaximumVoltageLimit { get; set; } - public bool EVSEMaximumVoltageLimit_isUsed { get; set; } - - /// - /// Maximum current limit (Optional - Grammar state 324 choice 1 → 326) - /// - public PhysicalValueType EVSEMaximumCurrentLimit { get; set; } - public bool EVSEMaximumCurrentLimit_isUsed { get; set; } - - /// - /// Maximum power limit (Optional - Grammar state 324 choice 2 → 327) - /// - public PhysicalValueType EVSEMaximumPowerLimit { get; set; } - public bool EVSEMaximumPowerLimit_isUsed { get; set; } - - /// - /// EVSE ID string (37 characters max - Grammar state 324 choice 3 → 328) - /// - public string EVSEID { get; set; } = ""; - - /// - /// SA schedule tuple ID - 8-bit (value-1) (Grammar state 328) - /// - public byte SAScheduleTupleID { get; set; } - - /// - /// Meter info (Optional - Grammar state 329 choice 0 → 330) - /// - public MeterInfoType MeterInfo { get; set; } - public bool MeterInfo_isUsed { get; set; } - - /// - /// Receipt required flag (Optional - Grammar state 329 choice 1 → END) - /// - public bool ReceiptRequired { get; set; } - public bool ReceiptRequired_isUsed { get; set; } - - public CurrentDemandResType() - { - ResponseCode = ResponseCodeType.OK; - DC_EVSEStatus = new DC_EVSEStatusType(); - EVSEPresentVoltage = new PhysicalValueType(); - EVSEPresentCurrent = new PhysicalValueType(); - EVSECurrentLimitAchieved = false; - EVSEVoltageLimitAchieved = false; - EVSEPowerLimitAchieved = false; - - EVSEMaximumVoltageLimit = new PhysicalValueType(); - EVSEMaximumVoltageLimit_isUsed = false; - EVSEMaximumCurrentLimit = new PhysicalValueType(); - EVSEMaximumCurrentLimit_isUsed = false; - EVSEMaximumPowerLimit = new PhysicalValueType(); - EVSEMaximumPowerLimit_isUsed = false; - - EVSEID = ""; - SAScheduleTupleID = 1; - - MeterInfo = new MeterInfoType(); - MeterInfo_isUsed = false; - ReceiptRequired = false; - ReceiptRequired_isUsed = false; - } - } - - /// - /// Current demand request structure - exact match to iso1CurrentDemandReqType - /// Grammar states 273-280 - /// - public class CurrentDemandReqType - { - /// - /// DC EV status information (Mandatory - Grammar state 273) - /// - public DC_EVStatusType DC_EVStatus { get; set; } - - /// - /// EV target current (Mandatory - Grammar state 274) - /// - public PhysicalValueType EVTargetCurrent { get; set; } - - /// - /// EV maximum voltage limit (Optional - Grammar state 275 choice 0) - /// - public PhysicalValueType EVMaximumVoltageLimit { get; set; } - public bool EVMaximumVoltageLimit_isUsed { get; set; } - - /// - /// EV maximum current limit (Optional - Grammar state 275 choice 1) - /// - public PhysicalValueType EVMaximumCurrentLimit { get; set; } - public bool EVMaximumCurrentLimit_isUsed { get; set; } - - /// - /// EV maximum power limit (Optional - Grammar state 275 choice 2) - /// - public PhysicalValueType EVMaximumPowerLimit { get; set; } - public bool EVMaximumPowerLimit_isUsed { get; set; } - - /// - /// Bulk charging complete flag (Optional - Grammar state 275 choice 3) - /// - public bool BulkChargingComplete { get; set; } - public bool BulkChargingComplete_isUsed { get; set; } - - /// - /// Charging complete flag (Mandatory - no _isUsed flag in VC2022) - /// - public bool ChargingComplete { get; set; } - - /// - /// Remaining time to full SoC (Optional) - /// - public PhysicalValueType RemainingTimeToFullSoC { get; set; } - public bool RemainingTimeToFullSoC_isUsed { get; set; } - - /// - /// Remaining time to bulk SoC (Optional) - /// - public PhysicalValueType RemainingTimeToBulkSoC { get; set; } - public bool RemainingTimeToBulkSoC_isUsed { get; set; } - - /// - /// EV target voltage (Mandatory - no _isUsed flag in VC2022) - /// - public PhysicalValueType EVTargetVoltage { get; set; } - - public CurrentDemandReqType() - { - DC_EVStatus = new DC_EVStatusType(); - EVTargetCurrent = new PhysicalValueType(); - EVMaximumVoltageLimit = new PhysicalValueType(); - EVMaximumVoltageLimit_isUsed = false; - EVMaximumCurrentLimit = new PhysicalValueType(); - EVMaximumCurrentLimit_isUsed = false; - EVMaximumPowerLimit = new PhysicalValueType(); - EVMaximumPowerLimit_isUsed = false; - BulkChargingComplete = false; - BulkChargingComplete_isUsed = false; - ChargingComplete = false; - RemainingTimeToFullSoC = new PhysicalValueType(); - RemainingTimeToFullSoC_isUsed = false; - RemainingTimeToBulkSoC = new PhysicalValueType(); - RemainingTimeToBulkSoC_isUsed = false; - EVTargetVoltage = new PhysicalValueType(); - } - } - - /// - /// DC EV status structure - exact match to iso1DC_EVStatusType - /// - public class DC_EVStatusType - { - public bool EVReady { get; set; } - public int EVErrorCode { get; set; } // 4-bit enumeration - public int EVRESSSOC { get; set; } // 7-bit (0-100) - - public DC_EVStatusType() - { - EVReady = false; - EVErrorCode = 0; - EVRESSSOC = 0; - } - } - - /// - /// Universal message body type - matches iso1BodyType - /// - public class BodyType - { - // All possible message types (only one will be used per message) - public CurrentDemandReqType CurrentDemandReq { get; set; } - public bool CurrentDemandReq_isUsed { get; set; } - - public CurrentDemandResType CurrentDemandRes { get; set; } - public bool CurrentDemandRes_isUsed { get; set; } - - public BodyType() - { - CurrentDemandReq = new CurrentDemandReqType(); - CurrentDemandReq_isUsed = false; - CurrentDemandRes = new CurrentDemandResType(); - CurrentDemandRes_isUsed = false; - } - } - - /// - /// V2G Message envelope structure - /// - public class V2GMessageExact - { - public string SessionID { get; set; } = ""; - public BodyType Body { get; set; } - - public V2GMessageExact() - { - Body = new BodyType(); - } - } -} \ No newline at end of file diff --git a/Port/dotnet/V2GDecoderNet.csproj b/Port/dotnet/V2GDecoderNet.csproj deleted file mode 100644 index 13dd3d3..0000000 --- a/Port/dotnet/V2GDecoderNet.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - Exe - net8.0 - enable - enable - V2GDecoderNet - C# port of OpenV2G EXI codec for V2G protocol messages - Release - V2GDecoder Port - V2GDecoderNet - Copyright © 2024 - 1.0.0.0 - 1.0.0.0 - - - \ No newline at end of file diff --git a/Port/dotnet/published/V2GDecoderNet.deps.json b/Port/dotnet/published/V2GDecoderNet.deps.json deleted file mode 100644 index fb4e494..0000000 --- a/Port/dotnet/published/V2GDecoderNet.deps.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v8.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v8.0": { - "V2GDecoderNet/1.0.0": { - "runtime": { - "V2GDecoderNet.dll": {} - } - } - } - }, - "libraries": { - "V2GDecoderNet/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/Port/dotnet/published/V2GDecoderNet.dll b/Port/dotnet/published/V2GDecoderNet.dll deleted file mode 100644 index c90c9c845c60bdabcbe4162c7bf8a4e4c2c19352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97280 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 I_c-vs0dO4iYybcN diff --git a/Port/dotnet/published/V2GDecoderNet.exe b/Port/dotnet/published/V2GDecoderNet.exe deleted file mode 100644 index 3eafd087201dbe3604f4edaa97d48e94c49d4c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151552 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×Mn< zL3!iC;XsN$eJ>0{gH24|Tdbi?h7Eq+h#<{gBy_c@MF)cYuy)31zX8TG1}DRHQM4Uw z1AE~>^~u;tL!gY+0Wh&lpfqwNH*(9{gM~MS7ov@zwp8b`G(KnyP>(WY3@7?ne0+3! zpf5osoF2ZM6@wEy6<}c>K)vTIg6i3e*kZuP&PsdITLDsX+dHez!9H9tXv9Os{*2hD zjd^CM1M$+-hh&ULEoC0V0gn1q@F>1d4~cB_kR|B*_Z7%L-AY;Fn+ZEbSq}>GcTkX= zhU?g#g2*i69uVA9kXt{<&!Qg?J0_<;{6DO{3w)Ht)%d@;ED4bC1Z6cU)~KNd(Hcc- zVnBBxk!NvNgF?l7Y!qpwn!+y7$|YeF$?~w4w)SncwqkEuU)$1Z74Vi2BtcXHSOv8j zuS|^AcniS``~RMKp1mZ*s=xo65A5^IJaavB=FB-~&YVff!edq>@TXtv*#!>k)qmh7 z&=6602fR+Ev7$i+LcFn9v(|IG2guq-us8>o%U0n2%R`goaZ2b6(r3+|C213B>|=0K z(xZ%r%Fz;PH!r`k+cqy~gstcPwP}bhg1*sg>?8WjnekdL64; zw*m4@(Yq;{VoL@Vf|d44N}!;1Qcw@uIur!4a+Od1_OCGDZ~Q6m_VnB>tA96JK*HT< z?<|zH8_NwfMkG~vcXVyM#q#f#0^fc_mV*ByhbF;IfMDf$>x7{+W7_ODMb=38uLxNo=wu@iIZ-0@h3Z=w$_d49*E_)cqe-o%b06qwBhPC+~ZLZa!neMpfcuK(be3Z65r;guqoFa^lC4YqE#(I6# zHeq{=rhT*!L^uN6`GV6ulfDD0TB$=|^%NENtfD#*^DlrNqCXmVo{BvO=R8%J5F)55 zY66+#=794(3(>F$p&W3&r%XLA{IT`4%DG5pwJ1WMcRvy<07}D*!9FHjCaV@z*vmElx#RnO^K6nsWqK@B}8u)#c*z6cQvY(^!r_b5Gcv5fNk z;b=SlbmHyv#MKA0tF+)tkWkcb1Ekpy!-7BI3mqhMlt>3=q^Ki%ylLmc68Ptxm3~bK z%9&T8k^KxESlGM7!NRH>Tt$n~9U7U}WD6K>hij%XU9Nh2Ubo{K=y|!%*|*-1yfM#7 z$B;J`Y*#nk$@Fy)7@IYqEE*+!e2@`Z!kM-Q-4`zv1U8y35lKgq*k2N8?4qo=XFk@9 z7{=K*INQ|i6{5Zno1f%d8EAQ#FpY1aoIb6kJ4)LeTzuW{xP5v^a3Rg@)6dBk_qZt; zEWbmz8Jx#OKvhn>z`Df84iT_Q!zW6y5&d-KzYz2?$oLB*icJehs?SS*^MoJ^$UfV|rZNG4UBUyup=_D*n&9Q}B
U$2>N4-C+HQD801@jgpFsJWA#j3 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 diff --git a/Port/dotnet/published/V2GDecoderNet.pdb b/Port/dotnet/published/V2GDecoderNet.pdb deleted file mode 100644 index 600b5804c6778fe64e6d787932c940ae312e31f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39452 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 - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C} - HexDumpToBinary - 10.0 - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - true - true - - - - - Level3 - true - _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/Port/vc2022/HexToBinary/HexToBinary.vcxproj b/Port/vc2022/HexToBinary/HexToBinary.vcxproj deleted file mode 100644 index a8ca5e2..0000000 --- a/Port/vc2022/HexToBinary/HexToBinary.vcxproj +++ /dev/null @@ -1,159 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B} - HexToBinary - 10.0 - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - true - true - - - - - Level3 - true - _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - - - Console - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/Port/vc2022/HexToBinary/HexToBinary.vcxproj.user b/Port/vc2022/HexToBinary/HexToBinary.vcxproj.user deleted file mode 100644 index 88a5509..0000000 --- a/Port/vc2022/HexToBinary/HexToBinary.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Port/vc2022/README.md b/Port/vc2022/README.md deleted file mode 100644 index cdf299e..0000000 --- a/Port/vc2022/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# V2G EXI Decoder - Visual Studio 2022 VC++ Project - -## 개요 -OpenV2G EXI 디코ë”를 Visual Studio 2022 Professionalì—서 디버깅할 수 있ë„ë¡ VC++ 프로ì íŠ¸ë¡œ 변환한 버전입니다. - -## 프로ì íЏ 구조 - -### 솔루션: `V2GDecoderC.sln` -- **V2GDecoder**: ë©”ì¸ EXI ë””ì½”ë” ì• í”Œë¦¬ì¼€ì´ì…˜ -- **HexToBinary**: 16진수 문ìžì—´ì„ ë°”ì´ë„ˆë¦¬ë¡œ 변환하는 유틸리티 -- **HexDumpToBinary**: 16진수 ë¤í”„를 ë°”ì´ë„ˆë¦¬ë¡œ 변환하는 유틸리티 - -### 빌드 설정 -- **플랫í¼**: Win32 (x86), x64 -- **구성**: Debug, Release -- **컴파ì¼ëŸ¬**: MSVC v143 (Visual Studio 2022) -- **언어**: Pure C (C++ì´ ì•„ë‹˜) -- **출력 디렉토리**: `bin/{Platform}/{Configuration}/` - -### 소스 íŒŒì¼ êµ¬ì„± -#### codec/ (EXI ì½”ë± í•µì‹¬) -- BitInputStream.c/h - 비트 스트림 ìž…ë ¥ -- BitOutputStream.c/h - 비트 스트림 출력 -- DecoderChannel.c/h - ë””ì½”ë” ì±„ë„ -- EncoderChannel.c/h - ì¸ì½”ë” ì±„ë„ -- EXIHeaderDecoder.c/h - EXI í—¤ë” ë””ì½”ë” -- 기타 EXI 관련 파ì¼ë“¤ - -#### iso1/ (ISO 15118-1 구현) -- iso1EXIDatatypes.c/h - ISO1 EXI ë°ì´í„° 타입 -- iso1EXIDatatypesDecoder.c/h - ISO1 EXI ë””ì½”ë” -- iso1EXIDatatypesEncoder.c/h - ISO1 EXI ì¸ì½”ë” - -#### appHandshake/ (애플리케ì´ì…˜ 핸드셰ì´í¬) -- appHandEXIDatatypes.c/h - 핸드셰ì´í¬ ë°ì´í„° 타입 -- appHandEXIDatatypesDecoder.c/h - 핸드셰ì´í¬ ë””ì½”ë” -- appHandEXIDatatypesEncoder.c/h - 핸드셰ì´í¬ ì¸ì½”ë” - -## Visual Studioì—서 사용하기 - -### 1. 프로ì íЏ 열기 -``` -íŒŒì¼ -> 열기 -> 프로ì íЏ/솔루션 -> V2GDecoderC.sln ì„ íƒ -``` - -### 2. 빌드하기 -- **Debug x64** êµ¬ì„±ì„ ê¶Œìž¥ (완전한 디버깅 ì •ë³´ í¬í•¨) -- 빌드 -> 솔루션 빌드 (Ctrl+Shift+B) - -### 3. 디버깅하기 -- V2GDecoder 프로ì íŠ¸ë¥¼ 시작 프로ì íŠ¸ë¡œ 설정 -- F5로 디버깅 시작 -- ì¤‘ë‹¨ì  ì„¤ì •í•˜ì—¬ 단계별 디버깅 가능 - -### 4. 커맨드 ë¼ì¸ ì¸ìˆ˜ 설정 -프로ì íЏ ì†ì„± -> 디버깅 -> 명령 ì¸ìˆ˜ì—서 테스트 íŒŒì¼ ì§€ì •: -``` -../../test4.exi -``` - -## ìž¥ì  - -### 🔠강력한 디버깅 기능 -- **중단ì **: 모든 C 소스 ë¼ì¸ì— ì¤‘ë‹¨ì  ì„¤ì • 가능 -- **단계별 실행**: F10 (Step Over), F11 (Step Into) -- **변수 조사**: 지역 변수, ê°ì‹œ ì°½ì—서 실시간 변수 ê°’ í™•ì¸ -- **호출 스íƒ**: 함수 호출 경로 ì¶”ì  -- **메모리 ë·°**: ì›ì‹œ 메모리 ë‚´ìš© í™•ì¸ - -### 📊 코드 ë¶„ì„ ë„구 -- **IntelliSense**: 코드 완성, 함수 시그니처 힌트 -- **ì •ì˜ë¡œ ì´ë™**: F12로 함수/변수 ì •ì˜ ìœ„ì¹˜ë¡œ ì´ë™ -- **참조 찾기**: 함수/변수 사용 위치 검색 -- **오류 목ë¡**: ì»´íŒŒì¼ ì˜¤ë¥˜/경고 실시간 표시 - -### 🚀 .NET í¬íŒ… ì§€ì› -- C 코드 로ì§ì„ 단계별로 ë¶„ì„하여 C#/.NET으로 í¬íŒ… 가능 -- 메모리 ë ˆì´ì•„웃, 비트 ì¡°ìž‘ 등 저수준 ë™ìž‘ í™•ì¸ -- 함수별 입출력 ê°’ 확ì¸ìœ¼ë¡œ 테스트 ì¼€ì´ìФ ìƒì„± - -## 테스트 íŒŒì¼ -- `test4.exi` - 43ë°”ì´íЏ CurrentDemandReq 메시지 -- `test5.exi` - 43ë°”ì´íЏ CurrentDemandReq 메시지 (다른 ê°’) - -## ì›ë³¸ GCC ë¹Œë“œì™€ì˜ í˜¸í™˜ì„± -- ë™ì¼í•œ 소스 íŒŒì¼ ì‚¬ìš© -- ë™ì¼í•œ í—¤ë” íŒŒì¼ í¬í•¨ 경로 -- ë™ì¼í•œ 전처리기 ì •ì˜ -- Windowsì—서 POSIX 호환성 유지 - -## 사용 예시 -```bash -# Visual Studioì—서 빌드 후 -bin/x64/Debug/V2GDecoder.exe ../../test4.exi -``` - -ì´ì œ Visual Studio 2022ì˜ ê°•ë ¥í•œ 디버깅 ê¸°ëŠ¥ì„ í™œìš©í•˜ì—¬ OpenV2G EXI 디코ë”를 ë¶„ì„하고 .NET í¬íŒ… ìž‘ì—…ì„ íš¨ìœ¨ì ìœ¼ë¡œ 수행할 수 있습니다. \ No newline at end of file diff --git a/Port/vc2022/UpgradeLog.htm b/Port/vc2022/UpgradeLog.htm deleted file mode 100644 index 05aa489..0000000 --- a/Port/vc2022/UpgradeLog.htm +++ /dev/null @@ -1,275 +0,0 @@ - - - - 마ì´ê·¸ë ˆì´ì…˜ 보고서 -

- 마ì´ê·¸ë ˆì´ì…˜ 보고서 -

\ No newline at end of file diff --git a/Port/vc2022/V2GDecoder.c b/Port/vc2022/V2GDecoder.c deleted file mode 100644 index 7368aa7..0000000 --- a/Port/vc2022/V2GDecoder.c +++ /dev/null @@ -1,1959 +0,0 @@ -#include -#include -#include -#include -#ifdef _WIN32 - #include - #include - #include - #define F_OK 0 - #define access _access - #define fstat _fstat - #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -#else - #include - #include -#endif - -/* EXI codec headers */ -#include "iso1EXIDatatypes.h" -#include "iso1EXIDatatypesDecoder.h" -#include "iso1EXIDatatypesEncoder.h" -#include "iso2EXIDatatypes.h" -#include "iso2EXIDatatypesDecoder.h" -#include "iso2EXIDatatypesEncoder.h" -#include "dinEXIDatatypes.h" -#include "dinEXIDatatypesDecoder.h" -#include "dinEXIDatatypesEncoder.h" -#include "ByteStream.h" - -/** EXI Debug mode */ -int EXI_DEBUG_MODE = 0; - -#define DEBUG_PRINTF(x) do { if (EXI_DEBUG_MODE) printf x; } while (0) - -#define BUFFER_SIZE 4096 - -// Network protocol patterns and definitions -#define ETH_TYPE_IPV6 0x86DD // Ethernet Type: IPv6 -#define IPV6_NEXT_HEADER_TCP 0x06 // IPv6 Next Header: TCP -#define TCP_V2G_PORT 15118 // V2G communication port - -// V2G Transfer Protocol patterns and definitions -#define V2G_PROTOCOL_VERSION 0x01 // Protocol Version -#define V2G_INV_PROTOCOL_VERSION 0xFE // Inverse Protocol Version -#define V2G_PAYLOAD_ISO_DIN_SAP 0x8001 // ISO 15118-2/DIN/SAP payload type -#define V2G_PAYLOAD_ISO2 0x8002 // ISO 15118-20 payload type -#define EXI_START_PATTERN 0x8098 // EXI document start pattern - -// Function declarations for Phase 2 Session & Service Management helper functions -void print_session_setup_req_details(struct iso1SessionSetupReqType *sessionSetupReq); -void print_session_setup_res_details(struct iso1SessionSetupResType *sessionSetupRes); -void print_service_discovery_req_details(struct iso1ServiceDiscoveryReqType *serviceDiscoveryReq); -void print_service_discovery_res_details(struct iso1ServiceDiscoveryResType *serviceDiscoveryRes); -void print_authorization_req_details(struct iso1AuthorizationReqType *authorizationReq); -void print_authorization_res_details(struct iso1AuthorizationResType *authorizationRes); -void print_charge_param_discovery_req_details(struct iso1ChargeParameterDiscoveryReqType *chargeParamReq); -void print_charge_param_discovery_res_details(struct iso1ChargeParameterDiscoveryResType *chargeParamRes); - -// Phase 3: Extended Features - Function declarations -void print_payment_service_selection_req_details(struct iso1PaymentServiceSelectionReqType *paymentServiceSelectionReq); -void print_payment_service_selection_res_details(struct iso1PaymentServiceSelectionResType *paymentServiceSelectionRes); -void print_charging_status_req_details(struct iso1ChargingStatusReqType *chargingStatusReq); -void print_charging_status_res_details(struct iso1ChargingStatusResType *chargingStatusRes); -void print_session_stop_req_details(struct iso1SessionStopReqType *sessionStopReq); -void print_session_stop_res_details(struct iso1SessionStopResType *sessionStopRes); - -// Function to detect and extract EXI body from V2G Transfer Protocol data -size_t extract_exi_body(uint8_t* input_data, size_t input_size, uint8_t* output_data, size_t output_size) { - if (input_size < 8) { - // Too small for V2G TP header, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - return 0; - } - - // Check for V2G Transfer Protocol header - if (input_data[0] == V2G_PROTOCOL_VERSION && input_data[1] == V2G_INV_PROTOCOL_VERSION) { - uint16_t payload_type = (input_data[2] << 8) | input_data[3]; - - if (payload_type == V2G_PAYLOAD_ISO_DIN_SAP || payload_type == V2G_PAYLOAD_ISO2) { - // Valid V2G TP header detected: skip 8-byte header - size_t exi_size = input_size - 8; - if (exi_size <= output_size) { - memcpy(output_data, input_data + 8, exi_size); - return exi_size; - } - return 0; - } - } - - // Look for EXI start pattern anywhere in the data - for (size_t i = 0; i <= input_size - 2; i++) { - uint16_t pattern = (input_data[i] << 8) | input_data[i + 1]; - if (pattern == EXI_START_PATTERN) { - // Found EXI start pattern - size_t exi_size = input_size - i; - if (exi_size <= output_size) { - memcpy(output_data, input_data + i, exi_size); - return exi_size; - } - return 0; - } - } - - // No pattern found, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - - return 0; -} - -// Function to get payload type name -const char* get_payload_type_name(uint16_t payload_type) { - switch(payload_type) { - case V2G_PAYLOAD_ISO_DIN_SAP: return "ISO 15118-2/DIN/SAP"; - case V2G_PAYLOAD_ISO2: return "ISO 15118-20"; - default: return "Unknown"; - } -} - -// Function to analyze complete packet structure -void analyze_data_structure(uint8_t* data, size_t size) { - printf("=== Data Structure Analysis ===\n"); - printf("Total size: %zu bytes\n", size); - - size_t offset = 0; - - // Check for Ethernet header (at least 14 bytes) - if (size >= 14) { - uint16_t eth_type = (data[12] << 8) | data[13]; - if (eth_type == ETH_TYPE_IPV6) { - printf("Layer 2: Ethernet Frame\n"); - printf(" Destination MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[0], data[1], data[2], data[3], data[4], data[5]); - printf(" Source MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[6], data[7], data[8], data[9], data[10], data[11]); - printf(" EtherType: 0x%04x (IPv6)\n", eth_type); - offset = 14; - - // Check for IPv6 header (40 bytes) - if (size >= offset + 40) { - uint8_t version = (data[offset] >> 4) & 0x0F; - uint16_t payload_length = (data[offset + 4] << 8) | data[offset + 5]; - uint8_t next_header = data[offset + 6]; - uint8_t hop_limit = data[offset + 7]; - - if (version == 6) { - printf("Layer 3: IPv6 Header\n"); - printf(" Version: %d\n", version); - printf(" Payload Length: %u\n", payload_length); - printf(" Next Header: %u", next_header); - if (next_header == IPV6_NEXT_HEADER_TCP) { - printf(" (TCP)\n"); - } else { - printf("\n"); - } - printf(" Hop Limit: %u\n", hop_limit); - - // Show IPv6 addresses - printf(" Source Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 8 + i], data[offset + 8 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n Destination Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 24 + i], data[offset + 24 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n"); - - offset += 40; - - // Check for TCP header (at least 20 bytes) - if (next_header == IPV6_NEXT_HEADER_TCP && size >= offset + 20) { - uint16_t src_port = (data[offset] << 8) | data[offset + 1]; - uint16_t dst_port = (data[offset + 2] << 8) | data[offset + 3]; - uint32_t seq_num = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - uint8_t tcp_header_len = (data[offset + 12] >> 4) * 4; - - printf("Layer 4: TCP Header\n"); - printf(" Source Port: %u\n", src_port); - printf(" Destination Port: %u", dst_port); - if (dst_port == TCP_V2G_PORT || src_port == TCP_V2G_PORT) { - printf(" (V2G Communication)\n"); - } else { - printf("\n"); - } - printf(" Sequence Number: %u\n", seq_num); - printf(" TCP Header Length: %u bytes\n", tcp_header_len); - - offset += tcp_header_len; - } - } - } - } - } - - // Look for V2G Transfer Protocol starting from current offset - if (size >= offset + 8 && - data[offset] == V2G_PROTOCOL_VERSION && - data[offset + 1] == V2G_INV_PROTOCOL_VERSION) { - - printf("Layer 7: V2G Transfer Protocol\n"); - printf(" Protocol Version: 0x%02x\n", data[offset]); - printf(" Inverse Protocol Version: 0x%02x\n", data[offset + 1]); - - uint16_t payload_type = (data[offset + 2] << 8) | data[offset + 3]; - printf(" Payload Type: 0x%04x (%s)\n", payload_type, get_payload_type_name(payload_type)); - - uint32_t payload_length = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - printf(" Payload Length: %u\n", payload_length); - printf("EXI body starts at offset: %zu\n", offset + 8); - - // Verify payload length - if (size >= offset + 8 && (size - offset - 8) == payload_length) { - printf("✓ Payload length matches actual data (%zu bytes)\n", size - offset - 8); - } else if (size >= offset + 8) { - printf("âš  Payload length mismatch: expected %u, got %zu bytes\n", - payload_length, size - offset - 8); - } - - offset += 8; - } - else if (offset == 0) { - // No network headers detected, check if it's direct V2G TP or EXI - if (size >= 4) { - uint32_t header = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; - printf("First 4 bytes: 0x%08X\n", header); - printf("Protocol: Unknown or Direct EXI\n"); - } - } - - // Look for EXI pattern - for (size_t i = 0; i <= size - 2; i++) { - uint16_t pattern = (data[i] << 8) | data[i + 1]; - if (pattern == EXI_START_PATTERN) { - printf("EXI start pattern (0x8098) found at offset: %zu\n", i); - if (i >= offset) { - printf("EXI payload size: %zu bytes\n", size - i); - } - break; - } - } - printf("\n"); -} - -// Helper function to convert char* string to exi_string_character_t* array -static int writeStringToEXIString(char* string, exi_string_character_t* exiString) { - int pos = 0; - while(string[pos] != '\0') { - exiString[pos] = string[pos]; - pos++; - } - return pos; -} - -char* trim_whitespace(char* str) { - char* end; - while(isspace((unsigned char)*str)) str++; - if(*str == 0) return str; - end = str + strlen(str) - 1; - while(end > str && isspace((unsigned char)*end)) end--; - end[1] = '\0'; - return str; -} - -// Helper function to find XML tag content within a bounded section (namespace-aware) -char* find_tag_in_section(const char* section_start, const char* section_end, const char* tag) { - static char result[1024]; - char ns_pattern[256]; - char* content_start = NULL; - char* tag_end = NULL; - - // First try namespace pattern (:tag>) - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_tag = section_start; - while ((ns_tag = strstr(ns_tag, ns_pattern)) != NULL && ns_tag < section_end) { - // Find the opening '<' - char* tag_begin = ns_tag; - while (tag_begin > section_start && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<' && tag_begin >= section_start) { - content_start = ns_tag + strlen(ns_pattern); - break; - } - ns_tag++; - } - - // If namespace version not found, try regular version - if (!content_start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* tag_start = strstr(section_start, start_tag); - if (tag_start && tag_start < section_end) { - content_start = tag_start + strlen(start_tag); - } - } - - if (!content_start || content_start >= section_end) { - return NULL; - } - - // Look for end tag (try both patterns) - char end_tag_pattern[256]; - snprintf(end_tag_pattern, sizeof(end_tag_pattern), "", tag); - tag_end = strstr(content_start, end_tag_pattern); - if (!tag_end || tag_end > section_end) { - // Try namespace end pattern - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_end = content_start; - while ((ns_end = strstr(ns_end, ns_pattern)) != NULL && ns_end < section_end) { - char* end_begin = ns_end; - while (end_begin > content_start && *end_begin != '<') end_begin--; - if (end_begin > content_start && *end_begin == '<' && *(end_begin + 1) == '/') { - tag_end = end_begin; - break; - } - ns_end++; - } - } - - if (!tag_end || tag_end > section_end) { - return NULL; - } - - size_t len = tag_end - content_start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, content_start, len); - result[len] = '\0'; - - return trim_whitespace(result); -} - -// Helper function to find XML tag content (namespace-aware) -char* find_tag_content_ns(const char* xml, const char* tag) { - static char result[1024]; - char ns_pattern[256], end_pattern[256]; - - // Look for pattern ":tagname>" to handle namespaces - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - snprintf(end_pattern, sizeof(end_pattern), "", tag); - - // First try to find namespace version (:tag>) - char* ns_start = strstr(xml, ns_pattern); - char* start = NULL; - - if (ns_start) { - // Found namespaced tag, find the opening '<' - char* tag_begin = ns_start; - while (tag_begin > xml && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<') { - start = ns_start + strlen(ns_pattern); - } - } - - // If namespace version not found, try regular version - if (!start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* regular_start = strstr(xml, start_tag); - if (regular_start) { - start = regular_start + strlen(start_tag); - } - } - - if (!start) return NULL; - - // Look for end tag (try both namespaced and regular) - char ns_end_pattern[256]; - snprintf(ns_end_pattern, sizeof(ns_end_pattern), "", tag); - - char* end = strstr(start, ns_end_pattern); - if (!end) { - // Try with different namespace prefix - snprintf(ns_end_pattern, sizeof(ns_end_pattern), ":%s>", tag); - char* ns_end = strstr(start, ns_end_pattern); - if (ns_end) { - char* end_tag_begin = ns_end; - while (end_tag_begin > start && *end_tag_begin != '<') end_tag_begin--; - if (*end_tag_begin == '<' && *(end_tag_begin + 1) == '/') { - end = ns_end + strlen(ns_end_pattern); - // Backtrack to find the actual end - end = end_tag_begin; - } - } - } - - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, start, len); - result[len] = '\0'; - return trim_whitespace(result); -} - -// Helper function to find XML tag content -char* find_tag_content(const char* xml, const char* tag) { - // First try namespace-aware search - char* result = find_tag_content_ns(xml, tag); - if (result) return result; - - // Fallback to original method - static char fallback_result[1024]; - char start_tag[256], end_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - snprintf(end_tag, sizeof(end_tag), "", tag); - - char* start = strstr(xml, start_tag); - if (!start) return NULL; - start += strlen(start_tag); - - char* end = strstr(start, end_tag); - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(fallback_result)) len = sizeof(fallback_result) - 1; - - strncpy(fallback_result, start, len); - fallback_result[len] = '\0'; - return trim_whitespace(fallback_result); -} - -int parse_session_id(const char* hex_str, uint8_t* bytes, size_t* len) { - size_t hex_len = strlen(hex_str); - if (hex_len % 2 != 0) return -1; - - *len = hex_len / 2; - for (size_t i = 0; i < *len; i++) { - unsigned int byte; - if (sscanf(&hex_str[i*2], "%2x", &byte) != 1) return -1; - bytes[i] = (uint8_t)byte; - } - return 0; -} - -// Parse PhysicalValue from section bounded XML -void parse_physical_value_from_section(const char* section_start, const char* section_end, struct iso1PhysicalValueType* pv) { - // Copy the found values to local variables to avoid static buffer overwriting - char mult_str[64] = {0}; - char unit_str[64] = {0}; - char value_str[64] = {0}; - - char* mult = find_tag_in_section(section_start, section_end, "Multiplier"); - if (mult) strncpy(mult_str, mult, sizeof(mult_str)-1); - - char* unit = find_tag_in_section(section_start, section_end, "Unit"); - if (unit) strncpy(unit_str, unit, sizeof(unit_str)-1); - - char* value = find_tag_in_section(section_start, section_end, "Value"); - if (value) strncpy(value_str, value, sizeof(value_str)-1); - - // Now parse the copied values - if (mult) pv->Multiplier = atoi(mult_str); - if (unit) pv->Unit = atoi(unit_str); - if (value) pv->Value = atoi(value_str); -} - -// Parse XML to ISO1 document for encoding -int parse_xml_to_iso1(const char* xml_content, struct iso1EXIDocument* doc) { - init_iso1EXIDocument(doc); - - // Find SessionID - char* session_id_str = find_tag_content(xml_content, "SessionID"); - if (session_id_str) { - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } else { - // Search directly for namespaced SessionID - char* ns_start = strstr(xml_content, ""); - if (ns_start) { - ns_start += strlen(""); - char* ns_end = strstr(ns_start, ""); - if (ns_end) { - size_t len_str = ns_end - ns_start; - static char session_id_temp[256]; - if (len_str < sizeof(session_id_temp)) { - strncpy(session_id_temp, ns_start, len_str); - session_id_temp[len_str] = '\0'; - session_id_str = trim_whitespace(session_id_temp); - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } - } - } - } - - // Check for CurrentDemandReq - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandReqë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandReq_isUsed = 1; - - // Initialize CurrentDemandReq structure completely - init_iso1CurrentDemandReqType(&doc->V2G_Message.Body.CurrentDemandReq); - - // Set all optional fields to NOT USED by default - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 0; - - // Parse DC_EVStatus - char* ev_ready = find_tag_content(xml_content, "EVReady"); - if (ev_ready) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady = (strcmp(ev_ready, "true") == 0); - } - - char* ev_error = find_tag_content(xml_content, "EVErrorCode"); - if (ev_error) { - if (strcmp(ev_error, "NO_ERROR") == 0) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 0; - } else { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = atoi(ev_error); - } - } - - char* ev_soc = find_tag_content(xml_content, "EVRESSSOC"); - if (ev_soc) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC = atoi(ev_soc); - } - - // Parse EVTargetCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent); - } - } - - // Parse EVTargetVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage); - } - } - - // Parse ChargingComplete - char* charging_complete = find_tag_content(xml_content, "ChargingComplete"); - if (charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete = (strcmp(charging_complete, "true") == 0); - } - - // Parse optional fields if present - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1; - char* max_volt_section = strstr(xml_content, ""); - if (!max_volt_section) max_volt_section = strstr(xml_content, ""); - char* max_volt_end = strstr(max_volt_section, ""); - if (!max_volt_end) max_volt_end = strstr(max_volt_section, ""); - if (max_volt_section && max_volt_end) { - parse_physical_value_from_section(max_volt_section, max_volt_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1; - char* max_curr_section = strstr(xml_content, ""); - if (!max_curr_section) max_curr_section = strstr(xml_content, ""); - char* max_curr_end = strstr(max_curr_section, ""); - if (!max_curr_end) max_curr_end = strstr(max_curr_section, ""); - if (max_curr_section && max_curr_end) { - parse_physical_value_from_section(max_curr_section, max_curr_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1; - char* max_power_section = strstr(xml_content, ""); - if (!max_power_section) max_power_section = strstr(xml_content, ""); - char* max_power_end = strstr(max_power_section, ""); - if (!max_power_end) max_power_end = strstr(max_power_section, ""); - if (max_power_section && max_power_end) { - parse_physical_value_from_section(max_power_section, max_power_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit); - } - } - - // Parse BulkChargingComplete - char* bulk_charging_complete = find_tag_content(xml_content, "BulkChargingComplete"); - if (bulk_charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 1; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete = (strcmp(bulk_charging_complete, "true") == 0); - } - - // Parse remaining time fields - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1; - char* time_section = strstr(xml_content, ""); - if (!time_section) time_section = strstr(xml_content, ""); - char* time_end = strstr(time_section, ""); - if (!time_end) time_end = strstr(time_section, ""); - if (time_section && time_end) { - parse_physical_value_from_section(time_section, time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1; - char* bulk_time_section = strstr(xml_content, ""); - if (!bulk_time_section) bulk_time_section = strstr(xml_content, ""); - char* bulk_time_end = strstr(bulk_time_section, ""); - if (!bulk_time_end) bulk_time_end = strstr(bulk_time_section, ""); - if (bulk_time_section && bulk_time_end) { - parse_physical_value_from_section(bulk_time_section, bulk_time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC); - } - } - - return 0; - } - - // Check for CurrentDemandRes - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandResë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandRes_isUsed = 1; - init_iso1CurrentDemandResType(&doc->V2G_Message.Body.CurrentDemandRes); - - // Parse ResponseCode - char* response_code = find_tag_content(xml_content, "ResponseCode"); - if (response_code) { - doc->V2G_Message.Body.CurrentDemandRes.ResponseCode = atoi(response_code); - } - - // Parse DC_EVSEStatus - char* evse_isolation = find_tag_content_ns(xml_content, "EVSEIsolationStatus"); - if (evse_isolation) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus = atoi(evse_isolation); - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; - } - - char* evse_status = find_tag_content_ns(xml_content, "EVSEStatusCode"); - if (evse_status) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = atoi(evse_status); - } - - // Parse EVSEPresentVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage); - } - } - - // Parse EVSEPresentCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent); - } - } - - // Parse limit achieved flags - char* current_limit = find_tag_content(xml_content, "EVSECurrentLimitAchieved"); - if (current_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved = (strcmp(current_limit, "true") == 0); - } - - char* voltage_limit = find_tag_content(xml_content, "EVSEVoltageLimitAchieved"); - if (voltage_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved = (strcmp(voltage_limit, "true") == 0); - } - - char* power_limit = find_tag_content(xml_content, "EVSEPowerLimitAchieved"); - if (power_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved = (strcmp(power_limit, "true") == 0); - } - - // Parse EVSEID - char* evseid = find_tag_content(xml_content, "EVSEID"); - if (evseid) { - size_t len = strlen(evseid); - if (len < sizeof(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters)) { - memcpy(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters, evseid, len); - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen = len; - } - } - - // Parse SAScheduleTupleID - char* sa_schedule = find_tag_content(xml_content, "SAScheduleTupleID"); - if (sa_schedule) { - doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID = atoi(sa_schedule); - } - - return 0; - } - - return -1; // Unsupported message type -} - -// 구조체 ì „ì²´ ë‚´ìš©ì„ í…스트 파ì¼ë¡œ ë¤í”„하는 함수 -void dump_iso1_document_to_file(const struct iso1EXIDocument* doc, const char* filename) { - FILE* fp = fopen(filename, "w"); - if (!fp) { - printf("Error: Cannot create file %s\n", filename); - return; - } - - fprintf(fp, "=== ISO1 EXI Document Structure Dump ===\n\n"); - - // Document level - fprintf(fp, "V2G_Message_isUsed: %u\n", doc->V2G_Message_isUsed); - - if (doc->V2G_Message_isUsed) { - // Header - fprintf(fp, "\n--- Header ---\n"); - fprintf(fp, "SessionID.bytesLen: %u\n", doc->V2G_Message.Header.SessionID.bytesLen); - fprintf(fp, "SessionID.bytes: "); - for (int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - fprintf(fp, "%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - fprintf(fp, "\n"); - fprintf(fp, "Notification_isUsed: %u\n", doc->V2G_Message.Header.Notification_isUsed); - fprintf(fp, "Signature_isUsed: %u\n", doc->V2G_Message.Header.Signature_isUsed); - - // Body - All message type flags - fprintf(fp, "\n--- Body Message Type Flags ---\n"); - fprintf(fp, "AuthorizationReq_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationReq_isUsed); - fprintf(fp, "AuthorizationRes_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationRes_isUsed); - fprintf(fp, "BodyElement_isUsed: %u\n", doc->V2G_Message.Body.BodyElement_isUsed); - fprintf(fp, "CableCheckReq_isUsed: %u\n", doc->V2G_Message.Body.CableCheckReq_isUsed); - fprintf(fp, "CableCheckRes_isUsed: %u\n", doc->V2G_Message.Body.CableCheckRes_isUsed); - fprintf(fp, "CertificateInstallationReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationReq_isUsed); - fprintf(fp, "CertificateInstallationRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationRes_isUsed); - fprintf(fp, "CertificateUpdateReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateReq_isUsed); - fprintf(fp, "CertificateUpdateRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateRes_isUsed); - fprintf(fp, "ChargeParameterDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed); - fprintf(fp, "ChargeParameterDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed); - fprintf(fp, "ChargingStatusReq_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusReq_isUsed); - fprintf(fp, "ChargingStatusRes_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusRes_isUsed); - fprintf(fp, "CurrentDemandReq_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq_isUsed); - fprintf(fp, "CurrentDemandRes_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandRes_isUsed); - fprintf(fp, "MeteringReceiptReq_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptReq_isUsed); - fprintf(fp, "MeteringReceiptRes_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptRes_isUsed); - fprintf(fp, "PaymentDetailsReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsReq_isUsed); - fprintf(fp, "PaymentDetailsRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsRes_isUsed); - fprintf(fp, "PaymentServiceSelectionReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionReq_isUsed); - fprintf(fp, "PaymentServiceSelectionRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionRes_isUsed); - fprintf(fp, "PowerDeliveryReq_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryReq_isUsed); - fprintf(fp, "PowerDeliveryRes_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryRes_isUsed); - fprintf(fp, "PreChargeReq_isUsed: %u\n", doc->V2G_Message.Body.PreChargeReq_isUsed); - fprintf(fp, "PreChargeRes_isUsed: %u\n", doc->V2G_Message.Body.PreChargeRes_isUsed); - fprintf(fp, "ServiceDetailReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailReq_isUsed); - fprintf(fp, "ServiceDetailRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailRes_isUsed); - fprintf(fp, "ServiceDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryReq_isUsed); - fprintf(fp, "ServiceDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryRes_isUsed); - fprintf(fp, "SessionSetupReq_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupReq_isUsed); - fprintf(fp, "SessionSetupRes_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupRes_isUsed); - fprintf(fp, "SessionStopReq_isUsed: %u\n", doc->V2G_Message.Body.SessionStopReq_isUsed); - fprintf(fp, "SessionStopRes_isUsed: %u\n", doc->V2G_Message.Body.SessionStopRes_isUsed); - fprintf(fp, "WeldingDetectionReq_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionReq_isUsed); - fprintf(fp, "WeldingDetectionRes_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionRes_isUsed); - - // CurrentDemandReq ìƒì„¸ ì •ë³´ - if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - fprintf(fp, "\n--- CurrentDemandReq Details ---\n"); - - // DC_EVStatus - fprintf(fp, "DC_EVStatus.EVReady: %u\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady); - fprintf(fp, "DC_EVStatus.EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - fprintf(fp, "DC_EVStatus.EVRESSSOC: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - // EVTargetCurrent - fprintf(fp, "EVTargetCurrent.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - fprintf(fp, "EVTargetCurrent.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - fprintf(fp, "EVTargetCurrent.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - // ì„ íƒì  필드들 - fprintf(fp, "EVMaximumVoltageLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - fprintf(fp, "EVMaximumVoltageLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - fprintf(fp, "EVMaximumVoltageLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - fprintf(fp, "EVMaximumVoltageLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - fprintf(fp, "EVMaximumCurrentLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - fprintf(fp, "EVMaximumCurrentLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - fprintf(fp, "EVMaximumCurrentLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - fprintf(fp, "EVMaximumCurrentLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - fprintf(fp, "EVMaximumPowerLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - fprintf(fp, "EVMaximumPowerLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - fprintf(fp, "EVMaximumPowerLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - fprintf(fp, "EVMaximumPowerLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - fprintf(fp, "BulkChargingComplete_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - fprintf(fp, "BulkChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete); - } - - // ChargingComplete (필수 필드) - fprintf(fp, "ChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete); - - fprintf(fp, "RemainingTimeToFullSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - fprintf(fp, "RemainingTimeToFullSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - fprintf(fp, "RemainingTimeToFullSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - fprintf(fp, "RemainingTimeToFullSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - fprintf(fp, "RemainingTimeToBulkSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - fprintf(fp, "RemainingTimeToBulkSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - fprintf(fp, "RemainingTimeToBulkSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - fprintf(fp, "RemainingTimeToBulkSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - - // EVTargetVoltage (필수 필드) - fprintf(fp, "EVTargetVoltage.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - fprintf(fp, "EVTargetVoltage.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - fprintf(fp, "EVTargetVoltage.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - } - } - - fclose(fp); - DEBUG_PRINTF(("✓ Structure dump saved to %s\n", filename)); -} - -// Helper function to convert hex string to binary -int hexStringToBinary(const char* hex_string, uint8_t* buffer, size_t buffer_size, size_t* bytes_written) { - size_t hex_len = strlen(hex_string); - - // Remove any whitespace and newlines - char* cleaned_hex = malloc(hex_len + 1); - if (!cleaned_hex) { - return -1; - } - - size_t clean_pos = 0; - for (size_t i = 0; i < hex_len; i++) { - char c = hex_string[i]; - if (isxdigit(c)) { - cleaned_hex[clean_pos++] = toupper(c); - } - } - cleaned_hex[clean_pos] = '\0'; - - // Check if hex string length is even - if (clean_pos % 2 != 0) { - free(cleaned_hex); - return -1; // Invalid hex string length - } - - size_t binary_len = clean_pos / 2; - if (binary_len > buffer_size) { - free(cleaned_hex); - return -2; // Buffer too small - } - - // Convert hex pairs to bytes - for (size_t i = 0; i < binary_len; i++) { - char hex_byte[3] = {cleaned_hex[i*2], cleaned_hex[i*2+1], '\0'}; - unsigned int byte_val; - if (sscanf(hex_byte, "%X", &byte_val) != 1) { - free(cleaned_hex); - return -3; // Invalid hex character - } - buffer[i] = (uint8_t)byte_val; - } - - *bytes_written = binary_len; - free(cleaned_hex); - return 0; -} - -// Helper function to read EXI file -int readEXIFile(char* file, uint8_t* buffer, size_t buffer_size, size_t *bytes_read) { - FILE *fp = fopen(file, "rb"); - if (fp == NULL) { - return -1; - } - - *bytes_read = fread(buffer, 1, buffer_size, fp); - fclose(fp); - - if (*bytes_read == 0) { - return -1; - } - - return 0; -} - -// Helper functions for Wireshark XML output removed - using numeric values directly - -void print_xml_header_wireshark() { - printf("\n"); - printf("\n"); -} - -void print_xml_footer_wireshark() { - printf(""); -} - -void print_iso1_xml_wireshark(struct iso1EXIDocument* doc) { - print_xml_header_wireshark(); - - printf(""); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(""); - - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - printf(""); - - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - printf("%.*s", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - printf(""); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf(""); - printf(""); - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - printf(""); - } - - // EVTargetVoltage must come last according to EXI grammar - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - printf(""); - - printf(""); - } - - printf(""); - print_xml_footer_wireshark(); -} - -void print_iso1_message(struct iso1EXIDocument* doc) { - printf("=== ISO 15118-2 V2G Message Analysis ===\n"); - printf("Message Type: ISO1 (2013)\n"); - printf("V2G_Message_isUsed: %s\n", doc->V2G_Message_isUsed ? "true" : "false"); - - if (doc->V2G_Message_isUsed) { - printf("\n--- Header ---\n"); - printf("SessionID: "); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(" ("); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - if (doc->V2G_Message.Header.SessionID.bytes[i] >= 32 && doc->V2G_Message.Header.SessionID.bytes[i] <= 126) { - printf("%c", doc->V2G_Message.Header.SessionID.bytes[i]); - } else { - printf("."); - } - } - printf(")\n"); - - printf("\n--- Body ---\n"); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf("Message Type: CurrentDemandRes\n"); - printf("ResponseCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - - printf("\nDC_EVSEStatus:\n"); - printf(" EVSEIsolationStatus: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf(" EVSEStatusCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - - printf("\nEVSEPresentVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - - printf("\nEVSEPresentCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - - printf("\nLimit Status:\n"); - printf(" CurrentLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf(" VoltageLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf(" PowerLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - - printf("\nEVSEID: %.*s\n", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("SAScheduleTupleID: %d\n", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf("Message Type: CurrentDemandReq\n"); - - printf("\nDC_EVStatus:\n"); - printf(" EVReady: %s\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - printf(" EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - printf(" EVRESSSOC: %d%%\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - printf("\nEVTargetCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - printf("\nEVTargetVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf("\nEVMaximumVoltageLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf("\nEVMaximumCurrentLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf("\nEVMaximumPowerLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("\nBulkChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("ChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf("\nRemainingTimeToFullSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf("\nRemainingTimeToBulkSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - } - // Phase 2: Session & Service Management Messages - else if (doc->V2G_Message.Body.SessionSetupReq_isUsed) { - printf("Message Type: SessionSetupReq\n"); - print_session_setup_req_details(&doc->V2G_Message.Body.SessionSetupReq); - } - else if (doc->V2G_Message.Body.SessionSetupRes_isUsed) { - printf("Message Type: SessionSetupRes\n"); - print_session_setup_res_details(&doc->V2G_Message.Body.SessionSetupRes); - } - else if (doc->V2G_Message.Body.ServiceDiscoveryReq_isUsed) { - printf("Message Type: ServiceDiscoveryReq\n"); - print_service_discovery_req_details(&doc->V2G_Message.Body.ServiceDiscoveryReq); - } - else if (doc->V2G_Message.Body.ServiceDiscoveryRes_isUsed) { - printf("Message Type: ServiceDiscoveryRes\n"); - print_service_discovery_res_details(&doc->V2G_Message.Body.ServiceDiscoveryRes); - } - else if (doc->V2G_Message.Body.AuthorizationReq_isUsed) { - printf("Message Type: AuthorizationReq\n"); - print_authorization_req_details(&doc->V2G_Message.Body.AuthorizationReq); - } - else if (doc->V2G_Message.Body.AuthorizationRes_isUsed) { - printf("Message Type: AuthorizationRes\n"); - print_authorization_res_details(&doc->V2G_Message.Body.AuthorizationRes); - } - else if (doc->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed) { - printf("Message Type: ChargeParameterDiscoveryReq\n"); - print_charge_param_discovery_req_details(&doc->V2G_Message.Body.ChargeParameterDiscoveryReq); - } - else if (doc->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed) { - printf("Message Type: ChargeParameterDiscoveryRes\n"); - print_charge_param_discovery_res_details(&doc->V2G_Message.Body.ChargeParameterDiscoveryRes); - } - // Phase 3: Extended Features - Message detection - else if (doc->V2G_Message.Body.PaymentServiceSelectionReq_isUsed) { - printf("Message Type: PaymentServiceSelectionReq\n"); - print_payment_service_selection_req_details(&doc->V2G_Message.Body.PaymentServiceSelectionReq); - } - else if (doc->V2G_Message.Body.PaymentServiceSelectionRes_isUsed) { - printf("Message Type: PaymentServiceSelectionRes\n"); - print_payment_service_selection_res_details(&doc->V2G_Message.Body.PaymentServiceSelectionRes); - } - else if (doc->V2G_Message.Body.ChargingStatusReq_isUsed) { - printf("Message Type: ChargingStatusReq\n"); - print_charging_status_req_details(&doc->V2G_Message.Body.ChargingStatusReq); - } - else if (doc->V2G_Message.Body.ChargingStatusRes_isUsed) { - printf("Message Type: ChargingStatusRes\n"); - print_charging_status_res_details(&doc->V2G_Message.Body.ChargingStatusRes); - } - else if (doc->V2G_Message.Body.SessionStopReq_isUsed) { - printf("Message Type: SessionStopReq\n"); - print_session_stop_req_details(&doc->V2G_Message.Body.SessionStopReq); - } - else if (doc->V2G_Message.Body.SessionStopRes_isUsed) { - printf("Message Type: SessionStopRes\n"); - print_session_stop_res_details(&doc->V2G_Message.Body.SessionStopRes); - } - else { - printf("Message Type: Other message type (not implemented)\n"); - } - } - printf("\n"); -} - -// Phase 2 Session & Service Management helper functions - -void print_session_setup_req_details(struct iso1SessionSetupReqType *sessionSetupReq) { - printf(" EVCCID: "); - for(int i = 0; i < sessionSetupReq->EVCCID.bytesLen; i++) { - printf("%02X", sessionSetupReq->EVCCID.bytes[i]); - } - printf("\n"); -} - -void print_session_setup_res_details(struct iso1SessionSetupResType *sessionSetupRes) { - printf(" Response Code: %d\n", sessionSetupRes->ResponseCode); - printf(" EVSEID: %.*s\n", - sessionSetupRes->EVSEID.charactersLen, - sessionSetupRes->EVSEID.characters); - - if(sessionSetupRes->EVSETimeStamp_isUsed) { - printf(" EVSETimeStamp: %ld\n", sessionSetupRes->EVSETimeStamp); - } -} - -void print_service_discovery_req_details(struct iso1ServiceDiscoveryReqType *serviceDiscoveryReq) { - if(serviceDiscoveryReq->ServiceScope_isUsed) { - printf(" ServiceScope: %.*s\n", - serviceDiscoveryReq->ServiceScope.charactersLen, - serviceDiscoveryReq->ServiceScope.characters); - } - - if(serviceDiscoveryReq->ServiceCategory_isUsed) { - printf(" ServiceCategory: %d\n", serviceDiscoveryReq->ServiceCategory); - } -} - -void print_service_discovery_res_details(struct iso1ServiceDiscoveryResType *serviceDiscoveryRes) { - printf(" Response Code: %d\n", serviceDiscoveryRes->ResponseCode); - printf(" PaymentOptionList:\n"); - for(int i = 0; i < serviceDiscoveryRes->PaymentOptionList.PaymentOption.arrayLen; i++) { - printf(" Payment Option %d: %d\n", i+1, serviceDiscoveryRes->PaymentOptionList.PaymentOption.array[i]); - } - - printf(" ChargeService:\n"); - printf(" ServiceID: %d\n", serviceDiscoveryRes->ChargeService.ServiceID); - printf(" ServiceName: %.*s\n", - serviceDiscoveryRes->ChargeService.ServiceName_isUsed ? serviceDiscoveryRes->ChargeService.ServiceName.charactersLen : 0, - serviceDiscoveryRes->ChargeService.ServiceName_isUsed ? serviceDiscoveryRes->ChargeService.ServiceName.characters : ""); - printf(" ServiceCategory: %d\n", serviceDiscoveryRes->ChargeService.ServiceCategory); - printf(" FreeService: %s\n", serviceDiscoveryRes->ChargeService.FreeService ? "true" : "false"); - - if(serviceDiscoveryRes->ServiceList_isUsed && serviceDiscoveryRes->ServiceList.Service.arrayLen > 0) { - printf(" ServiceList:\n"); - for(int i = 0; i < serviceDiscoveryRes->ServiceList.Service.arrayLen; i++) { - printf(" Service %d - ID: %d, Category: %d\n", - i+1, - serviceDiscoveryRes->ServiceList.Service.array[i].ServiceID, - serviceDiscoveryRes->ServiceList.Service.array[i].ServiceCategory); - } - } -} - -void print_authorization_req_details(struct iso1AuthorizationReqType *authorizationReq) { - if(authorizationReq->Id_isUsed) { - printf(" ID: %.*s\n", - authorizationReq->Id.charactersLen, - authorizationReq->Id.characters); - } - - if(authorizationReq->GenChallenge_isUsed) { - printf(" GenChallenge: "); - for(int i = 0; i < authorizationReq->GenChallenge.bytesLen; i++) { - printf("%02X", authorizationReq->GenChallenge.bytes[i]); - } - printf("\n"); - } -} - -void print_authorization_res_details(struct iso1AuthorizationResType *authorizationRes) { - printf(" Response Code: %d\n", authorizationRes->ResponseCode); - printf(" EVSEProcessing: %d\n", authorizationRes->EVSEProcessing); -} - -void print_charge_param_discovery_req_details(struct iso1ChargeParameterDiscoveryReqType *chargeParamReq) { - if(chargeParamReq->MaxEntriesSAScheduleTuple_isUsed) { - printf(" MaxEntriesSAScheduleTuple: %d\n", chargeParamReq->MaxEntriesSAScheduleTuple); - } - - printf(" RequestedEnergyTransferMode: %d\n", chargeParamReq->RequestedEnergyTransferMode); - - if(chargeParamReq->DC_EVChargeParameter_isUsed) { - printf(" DC_EVChargeParameter:\n"); - printf(" DC_EVStatus:\n"); - printf(" EVReady: %s\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVReady ? "true" : "false"); - printf(" EVErrorCode: %d\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVErrorCode); - printf(" EVRESSSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVRESSSOC); - - printf(" EVMaximumCurrentLimit:\n"); - printf(" Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Multiplier); - printf(" Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Unit); - printf(" Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Value); - - printf(" EVMaximumVoltageLimit:\n"); - printf(" Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Multiplier); - printf(" Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Unit); - printf(" Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Value); - - if(chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit_isUsed) { - printf(" EVMaximumPowerLimit:\n"); - printf(" Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Multiplier); - printf(" Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Unit); - printf(" Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity_isUsed) { - printf(" EVEnergyCapacity:\n"); - printf(" Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Multiplier); - printf(" Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Unit); - printf(" Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.EVEnergyRequest_isUsed) { - printf(" EVEnergyRequest:\n"); - printf(" Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Multiplier); - printf(" Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Unit); - printf(" Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.FullSOC_isUsed) { - printf(" FullSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.FullSOC); - } - - if(chargeParamReq->DC_EVChargeParameter.BulkSOC_isUsed) { - printf(" BulkSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.BulkSOC); - } - } -} - -void print_charge_param_discovery_res_details(struct iso1ChargeParameterDiscoveryResType *chargeParamRes) { - printf(" Response Code: %d\n", chargeParamRes->ResponseCode); - printf(" EVSEProcessing: %d\n", chargeParamRes->EVSEProcessing); - - if(chargeParamRes->SAScheduleList_isUsed) { - printf(" SAScheduleList:\n"); - printf(" Schedule Entries: %d\n", chargeParamRes->SAScheduleList.SAScheduleTuple.arrayLen); - - for(int i = 0; i < chargeParamRes->SAScheduleList.SAScheduleTuple.arrayLen; i++) { - printf(" Schedule %d:\n", i+1); - printf(" SAScheduleTupleID: %d\n", chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].SAScheduleTupleID); - - if(chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.arrayLen > 0) { - printf(" PMaxScheduleEntries: %d\n", - chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.arrayLen); - } - } - } - - if(chargeParamRes->DC_EVSEChargeParameter_isUsed) { - printf(" DC_EVSEChargeParameter:\n"); - printf(" DC_EVSEStatus:\n"); - printf(" EVSEIsolationStatus: %d\n", chargeParamRes->DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus); - printf(" EVSEStatusCode: %d\n", chargeParamRes->DC_EVSEChargeParameter.DC_EVSEStatus.EVSEStatusCode); - - printf(" EVSEMaximumCurrentLimit:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Value); - - printf(" EVSEMaximumVoltageLimit:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value); - - printf(" EVSEMaximumPowerLimit:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value); - - printf(" EVSEMinimumCurrentLimit:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value); - - printf(" EVSEMinimumVoltageLimit:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value); - - if(chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance_isUsed) { - printf(" EVSECurrentRegulationTolerance:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value); - } - - printf(" EVSEPeakCurrentRipple:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value); - - if(chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered_isUsed) { - printf(" EVSEEnergyToBeDelivered:\n"); - printf(" Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Multiplier); - printf(" Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Unit); - printf(" Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value); - } - } -} - -int main(int argc, char *argv[]) { - DEBUG_PRINTF(("DEBUG: argc=%d\n", argc)); - int xml_mode = 0; - int encode_mode = 0; - char *filename = NULL; - int arg_index = 1; - - // Check for debug option first - if (argc >= 2 && strcmp(argv[1], "-debug") == 0) { - EXI_DEBUG_MODE = 1; - arg_index = 2; - argc--; // Shift arguments - printf("Debug mode enabled: detailed bit-level encoding/decoding output\n"); - } - - if (argc == 2) { - if (strcmp(argv[arg_index], "-encode") == 0) { - // Special case: -encode without filename reads from stdin - encode_mode = 1; - filename = "-"; // Use "-" to indicate stdin - } else if (strcmp(argv[arg_index], "-decode") == 0) { - // Special case: -decode without filename reads from stdin - xml_mode = 1; - filename = "-"; // Use "-" to indicate stdin - } else { - filename = argv[arg_index]; - } - } else if (argc == 3 && strcmp(argv[arg_index], "-decode") == 0) { - xml_mode = 1; - filename = argv[arg_index + 1]; - } else if (argc == 3 && strcmp(argv[arg_index], "-encode") == 0) { - encode_mode = 1; - filename = argv[arg_index + 1]; - } else { - printf("Usage: V2GDecoder [-debug] [-decode|-encode] input_file\\n"); - printf(" V2GDecoder [-debug] -encode (read XML from stdin)\\n"); - printf(" V2GDecoder [-debug] -decode (read hex string from stdin)\\n"); - printf("Enhanced EXI viewer with XML conversion capabilities\\n"); - printf(" -debug Enable detailed bit-level encoding/decoding output\\n"); - printf(" -decode Convert EXI to Wireshark-style XML format\\n"); - printf(" -decode Read hex string from stdin (echo hex | V2GDecoder -decode)\\n"); - printf(" -encode Convert XML to EXI format\\n"); - printf(" -encode Read XML from stdin (type file.xml | V2GDecoder -encode)\\n"); - printf(" (default) Analyze EXI with detailed output\\n"); - printf("\\nContact: tindevil82@gmail.com\\n"); - return -1; - } - - uint8_t buffer[BUFFER_SIZE]; - bitstream_t stream; - size_t pos = 0; - int errn = 0; - - struct iso1EXIDocument iso1Doc; - struct iso2EXIDocument iso2Doc; - struct dinEXIDocument dinDoc; - - // Initialize documents - init_iso1EXIDocument(&iso1Doc); - init_iso2EXIDocument(&iso2Doc); - init_dinEXIDocument(&dinDoc); - - // Handle encode mode (XML to EXI) - if (encode_mode) { - DEBUG_PRINTF(("DEBUG: Entering encode mode\n")); - FILE* xml_file; - char* xml_content; - long xml_size; - - // Check if reading from stdin or file - if (strcmp(filename, "-") == 0) { - // Read from stdin - xml_file = stdin; - - // Read all content from stdin - size_t capacity = 4096; - xml_content = malloc(capacity); - if (!xml_content) { - printf("Error allocating memory for XML content\\n"); - return -1; - } - - xml_size = 0; - int ch; - while ((ch = fgetc(stdin)) != EOF) { - if (xml_size >= capacity - 1) { - capacity *= 2; - xml_content = realloc(xml_content, capacity); - if (!xml_content) { - printf("Error reallocating memory for XML content\\n"); - return -1; - } - } - xml_content[xml_size++] = ch; - } - xml_content[xml_size] = '\0'; - } else { - // Read XML file - xml_file = fopen(filename, "r"); - if (!xml_file) { - printf("Error opening XML file: %s\n", filename); - return -1; - } - - // Read entire XML content - fseek(xml_file, 0, SEEK_END); - xml_size = ftell(xml_file); - fseek(xml_file, 0, SEEK_SET); - - xml_content = malloc(xml_size + 1); - if (!xml_content) { - printf("Error allocating memory for XML content\\n"); - fclose(xml_file); - return -1; - } - - fread(xml_content, 1, xml_size, xml_file); - xml_content[xml_size] = '\0'; - fclose(xml_file); - } - - // Parse XML to ISO1 document structure - DEBUG_PRINTF(("DEBUG: About to parse XML content\n")); - int parse_result = parse_xml_to_iso1(xml_content, &iso1Doc); - DEBUG_PRINTF(("DEBUG: XML parse result: %d\n", parse_result)); - if (parse_result != 0) { - printf("Error parsing XML file - no supported message type found\\n"); - free(xml_content); - return -1; - } - - // XML parsing debug info to stderr (optional) - // fprintf(stderr, "=== XML Parsing Debug ===\\n"); - // fprintf(stderr, "V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false"); - // fprintf(stderr, "SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen); - // fprintf(stderr, "CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false"); - - // Debug output disabled for clean hex-only output - - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - DEBUG_PRINTF(("EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false")); - DEBUG_PRINTF(("EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode)); - DEBUG_PRINTF(("EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC)); - DEBUG_PRINTF(("EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value)); - DEBUG_PRINTF(("EVTargetVoltage: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value)); - } - - - free(xml_content); - - // Encode to EXI - pos = 0; - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // 구조체 ë¤í”„ (디버그용, 필요시 활성화) - DEBUG_PRINTF(("DEBUG: About to dump structure to temp/struct_xml.txt\n")); - if (EXI_DEBUG_MODE) { - dump_iso1_document_to_file(&iso1Doc, "temp/struct_xml.txt"); - } - DEBUG_PRINTF(("DEBUG: Structure dump completed\n")); - - errn = encode_iso1ExiDocument(&stream, &iso1Doc); - - if (errn != 0) { - fprintf(stderr, "Error encoding to EXI (error: %d)\\n", errn); - return -1; - } - - // Check if output is redirected - struct stat stat_buf; - int is_redirected = (fstat(fileno(stdout), &stat_buf) == 0 && S_ISREG(stat_buf.st_mode)); - - if (is_redirected) { - // Redirected output: write binary data - fwrite(buffer, 1, pos, stdout); - } else { - // Terminal output: show hex string only (like XML decode mode) - for(size_t i = 0; i < pos; i++) { - printf("%02X", buffer[i]); - } - printf("\n"); - } - return 0; - } - - // Read EXI data for decode/analysis mode - if (strcmp(filename, "-") == 0 && xml_mode) { - // Read hex string from stdin for decode mode - char hex_input[BUFFER_SIZE * 2 + 1]; // Hex string can be up to 2x binary size - size_t hex_len = 0; - - // Read hex string from stdin - int ch; - while ((ch = fgetc(stdin)) != EOF && hex_len < sizeof(hex_input) - 1) { - hex_input[hex_len++] = ch; - } - hex_input[hex_len] = '\0'; - - // Convert hex string to binary - errn = hexStringToBinary(hex_input, buffer, BUFFER_SIZE, &pos); - if (errn != 0) { - printf("Error converting hex string to binary (error: %d)\\n", errn); - printf("Make sure input is a valid hex string like: 8098021050908C0C0C0E0C50E001993206002040C40C203030C014000603DA98B3E60C0008\\n"); - return -1; - } - - if (!xml_mode) { - printf("Hex string from stdin (%zu bytes converted to %zu binary bytes)\\n", hex_len, pos); - } - } else { - // Read from file - errn = readEXIFile(filename, buffer, BUFFER_SIZE, &pos); - if (errn != 0) { - printf("Error reading file: %s\\n", filename); - return -1; - } - } - - if (!xml_mode) { - printf("File: %s (%zu bytes)\\n", filename, pos); - printf("Raw hex data: "); - for(size_t i = 0; i < (pos > 32 ? 32 : pos); i++) { - printf("%02X ", buffer[i]); - } - if (pos > 32) printf("..."); - printf("\\n\\n"); - - // Analyze data structure and extract EXI body - analyze_data_structure(buffer, pos); - } - - // Extract EXI body from V2G Transfer Protocol data - uint8_t exi_buffer[BUFFER_SIZE]; - size_t exi_size = extract_exi_body(buffer, pos, exi_buffer, BUFFER_SIZE); - - if (exi_size != pos) { - if (!xml_mode) { - printf("EXI body extracted: %zu bytes (was %zu bytes)\\n", exi_size, pos); - printf("EXI hex data: "); - for(size_t i = 0; i < (exi_size > 32 ? 32 : exi_size); i++) { - printf("%02X ", exi_buffer[i]); - } - if (exi_size > 32) printf("..."); - printf("\\n\\n"); - } - // Use extracted EXI data - memcpy(buffer, exi_buffer, exi_size); - pos = exi_size; - } - - // Setup stream - pos = 0; // reset position for decoding - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // Try ISO1 first - pos = 0; - if (!xml_mode) printf("Trying ISO1 decoder...\\n"); - errn = decode_iso1ExiDocument(&stream, &iso1Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO1\\n\\n"); - if (xml_mode) { - print_iso1_xml_wireshark(&iso1Doc); - } else { - print_iso1_message(&iso1Doc); - - // Compare with expected structure - DEBUG_PRINTF(("\\n=== Original EXI Structure Debug ===\\n")); - DEBUG_PRINTF(("V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false")); - DEBUG_PRINTF(("SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen)); - DEBUG_PRINTF(("CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false")); - - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - DEBUG_PRINTF(("EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false")); - DEBUG_PRINTF(("EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode)); - DEBUG_PRINTF(("EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC)); - DEBUG_PRINTF(("EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value)); - DEBUG_PRINTF(("EVMaximumVoltageLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed ? "true" : "false")); - DEBUG_PRINTF(("EVMaximumCurrentLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed ? "true" : "false")); - DEBUG_PRINTF(("EVMaximumPowerLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed ? "true" : "false")); - DEBUG_PRINTF(("BulkChargingComplete_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed ? "true" : "false")); - DEBUG_PRINTF(("RemainingTimeToFullSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed ? "true" : "false")); - DEBUG_PRINTF(("RemainingTimeToBulkSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed ? "true" : "false")); - } - } - - // ì›ë³¸ EXI 디코딩 후 구조체 ë¤í”„ (ë¶„ì„ ëª¨ë“œì¼ ë•Œë§Œ) - if (!xml_mode) { - dump_iso1_document_to_file(&iso1Doc, "struct_exi.txt"); - } - - return 0; - } else { - if (!xml_mode) printf("✗ ISO1 decode failed (error: %d)\\n", errn); - } - - // Try ISO2 - pos = 0; - if (!xml_mode) printf("Trying ISO2 decoder...\\n"); - errn = decode_iso2ExiDocument(&stream, &iso2Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO2\\n\\n"); - if (xml_mode) { - printf("ISO2 XML output not implemented for Wireshark format\\n"); - } else { - printf("ISO2 analysis not fully implemented\\n"); - } - return 0; - } else { - if (!xml_mode) printf("✗ ISO2 decode failed (error: %d)\\n", errn); - } - - // Try DIN - pos = 0; - if (!xml_mode) printf("Trying DIN decoder...\\n"); - errn = decode_dinExiDocument(&stream, &dinDoc); - if (errn == 0) { - if (!xml_mode) { - printf("✓ Successfully decoded as DIN\\n\\n"); - printf("=== DIN V2G Message ===\\n"); - // Add DIN message printing as needed - } - return 0; - } else { - if (!xml_mode) printf("✗ DIN decode failed (error: %d)\\n", errn); - } - - if (!xml_mode) { - printf("\\n⌠Could not decode EXI file with any supported codec\\n"); - printf("Supported formats: ISO1, ISO2, DIN\\n"); - } - - return -1; -} - -// Phase 3: Extended Features - Helper function implementations (VC2022 style without emojis) - -void print_payment_service_selection_req_details(struct iso1PaymentServiceSelectionReqType *paymentServiceSelectionReq) { - printf("Payment Service Selection Request Details:\\n"); - printf(" Purpose: Select payment method for charging session\\n"); - - printf(" Selected Payment Option: "); - switch(paymentServiceSelectionReq->SelectedPaymentOption) { - case iso1paymentOptionType_Contract: - printf("Contract-based payment\\n"); - break; - case iso1paymentOptionType_ExternalPayment: - printf("External payment method\\n"); - break; - default: - printf("Unknown (%d)\\n", paymentServiceSelectionReq->SelectedPaymentOption); - } - - printf(" Selected Service List:\\n"); - if (paymentServiceSelectionReq->SelectedServiceList.SelectedService.arrayLen > 0) { - for (int i = 0; i < paymentServiceSelectionReq->SelectedServiceList.SelectedService.arrayLen; i++) { - printf(" %d. Service ID: %d, Parameter Set ID: %d\\n", - i + 1, - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ServiceID, - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed ? - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ParameterSetID : -1); - } - } else { - printf(" No services selected\\n"); - } - - printf(" Payment service selection requested\\n"); -} - -void print_payment_service_selection_res_details(struct iso1PaymentServiceSelectionResType *paymentServiceSelectionRes) { - printf("Payment Service Selection Response Details:\\n"); - printf(" Purpose: Confirm payment method selection\\n"); - - printf(" Response Code: "); - switch(paymentServiceSelectionRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("OK - Payment selection accepted\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("FAILED\\n"); - break; - default: - printf("Unknown (%d)\\n", paymentServiceSelectionRes->ResponseCode); - } - - printf(" Payment method selection completed\\n"); -} - -void print_charging_status_req_details(struct iso1ChargingStatusReqType *chargingStatusReq) { - printf("Charging Status Request Details:\\n"); - printf(" Purpose: Request AC charging status information\\n"); - - printf(" Requesting current charging status from EVSE\\n"); - printf(" Status inquiry for AC charging session\\n"); -} - -void print_charging_status_res_details(struct iso1ChargingStatusResType *chargingStatusRes) { - printf("Charging Status Response Details:\\n"); - printf(" Purpose: Provide AC charging status information\\n"); - - printf(" Response Code: "); - switch(chargingStatusRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("OK\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("FAILED\\n"); - break; - default: - printf("Unknown (%d)\\n", chargingStatusRes->ResponseCode); - } - - printf(" EVSE ID: "); - if (chargingStatusRes->EVSEID.charactersLen > 0) { - printf("%.*s\\n", (int)chargingStatusRes->EVSEID.charactersLen, chargingStatusRes->EVSEID.characters); - } else { - printf("Not provided\\n"); - } - - printf(" SA Schedule Tuple ID: %d\\n", chargingStatusRes->SAScheduleTupleID); - - if (chargingStatusRes->EVSEMaxCurrent_isUsed) { - printf(" EVSE Max Current: %d %s (10^%d)\\n", - chargingStatusRes->EVSEMaxCurrent.Value, - chargingStatusRes->EVSEMaxCurrent.Unit == 5 ? "A" : "Unknown Unit", - chargingStatusRes->EVSEMaxCurrent.Multiplier); - } - - if (chargingStatusRes->MeterInfo_isUsed) { - printf(" Meter Information:\\n"); - printf(" Meter ID: "); - if (chargingStatusRes->MeterInfo.MeterID.charactersLen > 0) { - printf("%.*s\\n", (int)chargingStatusRes->MeterInfo.MeterID.charactersLen, - chargingStatusRes->MeterInfo.MeterID.characters); - } else { - printf("Not provided\\n"); - } - - if (chargingStatusRes->MeterInfo.MeterReading_isUsed) { - printf(" Meter Reading: %llu Wh\\n", - (unsigned long long)chargingStatusRes->MeterInfo.MeterReading); - } - - if (chargingStatusRes->MeterInfo.SigMeterReading_isUsed) { - printf(" Signed Meter Reading: %.*s\\n", - (int)chargingStatusRes->MeterInfo.SigMeterReading.bytesLen, - (char*)chargingStatusRes->MeterInfo.SigMeterReading.bytes); - } - - if (chargingStatusRes->MeterInfo.MeterStatus_isUsed) { - printf(" Meter Status: %d\\n", chargingStatusRes->MeterInfo.MeterStatus); - } - } - - if (chargingStatusRes->ReceiptRequired_isUsed) { - printf(" Receipt Required: %s\\n", - chargingStatusRes->ReceiptRequired ? "Yes" : "No"); - } - - printf(" AC charging status provided\\n"); -} - -void print_session_stop_req_details(struct iso1SessionStopReqType *sessionStopReq) { - printf("Session Stop Request Details:\\n"); - printf(" Purpose: Request charging session termination\\n"); - - printf(" Charging Session: "); - switch(sessionStopReq->ChargingSession) { - case iso1chargingSessionType_Terminate: - printf("Terminate - Session ending completely\\n"); - break; - case iso1chargingSessionType_Pause: - printf("Pause - Session paused temporarily\\n"); - break; - default: - printf("Unknown (%d)\\n", sessionStopReq->ChargingSession); - } - - printf(" Requesting session termination\\n"); -} - -void print_session_stop_res_details(struct iso1SessionStopResType *sessionStopRes) { - printf("Session Stop Response Details:\\n"); - printf(" Purpose: Confirm charging session termination\\n"); - - printf(" Response Code: "); - switch(sessionStopRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("OK - Session terminated successfully\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("FAILED - Session termination failed\\n"); - break; - default: - printf("Unknown (%d)\\n", sessionStopRes->ResponseCode); - } - - printf(" Charging session terminated\\n"); -} \ No newline at end of file diff --git a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj b/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj deleted file mode 100644 index 10c9682..0000000 --- a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {C09AE419-8FDD-4312-B023-55DC1ED18A73} - V2GDecoder - 10.0 - - - - Application - true - v143 - Unicode - false - - - Application - false - v143 - true - Unicode - false - - - Application - true - v143 - Unicode - false - - - Application - false - v143 - true - Unicode - false - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)bin\$(Platform)\$(Configuration)\ - $(SolutionDir)obj\$(ProjectName)\$(Platform)\$(Configuration)\ - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WIN32;__STDC_NO_VLA__;%(PreprocessorDefinitions) - true - CompileAsC - ..\src;..\src\codec;..\src\iso1;..\src\iso2;..\src\din;..\src\appHandshake;..\src\transport;..\src\xmldsig;%(AdditionalIncludeDirectories) - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WIN32;__STDC_NO_VLA__;%(PreprocessorDefinitions) - true - CompileAsC - ..\src;..\src\codec;..\src\iso1;..\src\iso2;..\src\din;..\src\appHandshake;..\src\transport;..\src\xmldsig;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - true - _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WIN32;__STDC_NO_VLA__;%(PreprocessorDefinitions) - true - CompileAsC - ..\src;..\src\codec;..\src\iso1;..\src\iso2;..\src\din;..\src\appHandshake;..\src\transport;..\src\xmldsig;%(AdditionalIncludeDirectories) - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - CompileAsC - ..\src;..\src\codec;..\src\iso1;..\src\iso2;..\src\din;..\src\appHandshake;..\src\transport;..\src\xmldsig;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.filters b/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.filters deleted file mode 100644 index 1b0184e..0000000 --- a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.filters +++ /dev/null @@ -1,170 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} - - - {B2C3D4E5-F678-9012-BCDE-F23456789012} - - - {C3D4E5F6-7890-1234-CDEF-345678901234} - - - {D4E5F678-9012-3456-DEF0-456789012345} - - - {E5F67890-1234-5678-EF01-567890123456} - - - {F6789012-3456-7890-F012-678901234567} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.user b/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.user deleted file mode 100644 index e129560..0000000 --- a/Port/vc2022/V2GDecoder/V2GDecoder.vcxproj.user +++ /dev/null @@ -1,7 +0,0 @@ - - - - -encode "C:\Data\Source\SIMP\V2GDecoderC\Sample\test5.xml" - WindowsLocalDebugger - - \ No newline at end of file diff --git a/Port/vc2022/V2GDecoderC.sln b/Port/vc2022/V2GDecoderC.sln deleted file mode 100644 index 15b356a..0000000 --- a/Port/vc2022/V2GDecoderC.sln +++ /dev/null @@ -1,50 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V2GDecoder", "V2GDecoder\V2GDecoder.vcxproj", "{C09AE419-8FDD-4312-B023-55DC1ED18A73}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HexToBinary", "HexToBinary\HexToBinary.vcxproj", "{B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HexDumpToBinary", "HexDumpToBinary\HexDumpToBinary.vcxproj", "{C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Debug|x64.ActiveCfg = Debug|x64 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Debug|x64.Build.0 = Debug|x64 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Debug|x86.ActiveCfg = Debug|Win32 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Debug|x86.Build.0 = Debug|Win32 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Release|x64.ActiveCfg = Release|x64 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Release|x64.Build.0 = Release|x64 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Release|x86.ActiveCfg = Release|Win32 - {C09AE419-8FDD-4312-B023-55DC1ED18A73}.Release|x86.Build.0 = Release|Win32 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Debug|x64.ActiveCfg = Debug|x64 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Debug|x64.Build.0 = Debug|x64 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Debug|x86.ActiveCfg = Debug|Win32 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Debug|x86.Build.0 = Debug|Win32 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Release|x64.ActiveCfg = Release|x64 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Release|x64.Build.0 = Release|x64 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Release|x86.ActiveCfg = Release|Win32 - {B8F8C8F2-3C4D-5E6F-9A0B-2C3D4E5F6A7B}.Release|x86.Build.0 = Release|Win32 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Debug|x64.ActiveCfg = Debug|x64 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Debug|x64.Build.0 = Debug|x64 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Debug|x86.ActiveCfg = Debug|Win32 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Debug|x86.Build.0 = Debug|Win32 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Release|x64.ActiveCfg = Release|x64 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Release|x64.Build.0 = Release|x64 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Release|x86.ActiveCfg = Release|Win32 - {C9F9D9F3-4D5E-6F7A-AB1C-3D4E5F6A7B8C}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {1A2B3C4D-5E6F-7A8B-9C0D-1E2F3A4B5C6D} - EndGlobalSection -EndGlobal diff --git a/Port/vc2022/build.bat b/Port/vc2022/build.bat deleted file mode 100644 index 95b3cc1..0000000 --- a/Port/vc2022/build.bat +++ /dev/null @@ -1,29 +0,0 @@ -@echo off -echo Building V2GDecoder VC++ Project... - -REM Check if Visual Studio 2022 is installed (Professional or Community) -set MSBUILD_PRO="C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe" -set MSBUILD_COM="C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" -set MSBUILD_BT="F:\(VHD) Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\MSBuild.exe" - -if exist %MSBUILD_PRO% ( - echo "Found Visual Studio 2022 Professional" - set MSBUILD=%MSBUILD_PRO% -) else if exist %MSBUILD_COM% ( - echo "Found Visual Studio 2022 Community" - set MSBUILD=%MSBUILD_COM% -) else if exist %MSBUILD_BT% ( - echo "Found Visual Studio 2022 BuildTools" - set MSBUILD=%MSBUILD_BT% -) else ( - echo "Visual Studio 2022 (Professional or Community) not found!" - echo "Please install Visual Studio 2022 or update the MSBuild path." - pause - exit /b 1 -) - -REM Build Debug x64 configuration -echo Building Debug x64 configuration... -%MSBUILD% V2GDecoderC.sln -property:Configuration=Debug -property:Platform=x64 -verbosity:normal - -pause \ No newline at end of file diff --git a/Port/vc2022/enc_temp_folder/3cccf615621dc9817094ccd5888594d0/V2GDecoder.c b/Port/vc2022/enc_temp_folder/3cccf615621dc9817094ccd5888594d0/V2GDecoder.c deleted file mode 100644 index c4d3af2..0000000 --- a/Port/vc2022/enc_temp_folder/3cccf615621dc9817094ccd5888594d0/V2GDecoder.c +++ /dev/null @@ -1,1500 +0,0 @@ -#include -#include -#include -#include -#ifdef _WIN32 - #include - #include - #include - #define F_OK 0 - #define access _access - #define fstat _fstat - #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -#else - #include - #include -#endif - -/* EXI codec headers */ -#include "iso1EXIDatatypes.h" -#include "iso1EXIDatatypesDecoder.h" -#include "iso1EXIDatatypesEncoder.h" -#include "iso2EXIDatatypes.h" -#include "iso2EXIDatatypesDecoder.h" -#include "iso2EXIDatatypesEncoder.h" -#include "dinEXIDatatypes.h" -#include "dinEXIDatatypesDecoder.h" -#include "dinEXIDatatypesEncoder.h" -#include "ByteStream.h" - -/** EXI Debug mode */ -int EXI_DEBUG_MODE = 0; - -#define DEBUG_PRINTF(x) do { if (EXI_DEBUG_MODE) printf x; } while (0) - -#define BUFFER_SIZE 4096 - -// Network protocol patterns and definitions -#define ETH_TYPE_IPV6 0x86DD // Ethernet Type: IPv6 -#define IPV6_NEXT_HEADER_TCP 0x06 // IPv6 Next Header: TCP -#define TCP_V2G_PORT 15118 // V2G communication port - -// V2G Transfer Protocol patterns and definitions -#define V2G_PROTOCOL_VERSION 0x01 // Protocol Version -#define V2G_INV_PROTOCOL_VERSION 0xFE // Inverse Protocol Version -#define V2G_PAYLOAD_ISO_DIN_SAP 0x8001 // ISO 15118-2/DIN/SAP payload type -#define V2G_PAYLOAD_ISO2 0x8002 // ISO 15118-20 payload type -#define EXI_START_PATTERN 0x8098 // EXI document start pattern - -// Function to detect and extract EXI body from V2G Transfer Protocol data -size_t extract_exi_body(uint8_t* input_data, size_t input_size, uint8_t* output_data, size_t output_size) { - if (input_size < 8) { - // Too small for V2G TP header, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - return 0; - } - - // Check for V2G Transfer Protocol header - if (input_data[0] == V2G_PROTOCOL_VERSION && input_data[1] == V2G_INV_PROTOCOL_VERSION) { - uint16_t payload_type = (input_data[2] << 8) | input_data[3]; - - if (payload_type == V2G_PAYLOAD_ISO_DIN_SAP || payload_type == V2G_PAYLOAD_ISO2) { - // Valid V2G TP header detected: skip 8-byte header - size_t exi_size = input_size - 8; - if (exi_size <= output_size) { - memcpy(output_data, input_data + 8, exi_size); - return exi_size; - } - return 0; - } - } - - // Look for EXI start pattern anywhere in the data - for (size_t i = 0; i <= input_size - 2; i++) { - uint16_t pattern = (input_data[i] << 8) | input_data[i + 1]; - if (pattern == EXI_START_PATTERN) { - // Found EXI start pattern - size_t exi_size = input_size - i; - if (exi_size <= output_size) { - memcpy(output_data, input_data + i, exi_size); - return exi_size; - } - return 0; - } - } - - // No pattern found, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - - return 0; -} - -// Function to get payload type name -const char* get_payload_type_name(uint16_t payload_type) { - switch(payload_type) { - case V2G_PAYLOAD_ISO_DIN_SAP: return "ISO 15118-2/DIN/SAP"; - case V2G_PAYLOAD_ISO2: return "ISO 15118-20"; - default: return "Unknown"; - } -} - -// Function to analyze complete packet structure -void analyze_data_structure(uint8_t* data, size_t size) { - printf("=== Data Structure Analysis ===\n"); - printf("Total size: %zu bytes\n", size); - - size_t offset = 0; - - // Check for Ethernet header (at least 14 bytes) - if (size >= 14) { - uint16_t eth_type = (data[12] << 8) | data[13]; - if (eth_type == ETH_TYPE_IPV6) { - printf("Layer 2: Ethernet Frame\n"); - printf(" Destination MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[0], data[1], data[2], data[3], data[4], data[5]); - printf(" Source MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[6], data[7], data[8], data[9], data[10], data[11]); - printf(" EtherType: 0x%04x (IPv6)\n", eth_type); - offset = 14; - - // Check for IPv6 header (40 bytes) - if (size >= offset + 40) { - uint8_t version = (data[offset] >> 4) & 0x0F; - uint16_t payload_length = (data[offset + 4] << 8) | data[offset + 5]; - uint8_t next_header = data[offset + 6]; - uint8_t hop_limit = data[offset + 7]; - - if (version == 6) { - printf("Layer 3: IPv6 Header\n"); - printf(" Version: %d\n", version); - printf(" Payload Length: %u\n", payload_length); - printf(" Next Header: %u", next_header); - if (next_header == IPV6_NEXT_HEADER_TCP) { - printf(" (TCP)\n"); - } else { - printf("\n"); - } - printf(" Hop Limit: %u\n", hop_limit); - - // Show IPv6 addresses - printf(" Source Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 8 + i], data[offset + 8 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n Destination Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 24 + i], data[offset + 24 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n"); - - offset += 40; - - // Check for TCP header (at least 20 bytes) - if (next_header == IPV6_NEXT_HEADER_TCP && size >= offset + 20) { - uint16_t src_port = (data[offset] << 8) | data[offset + 1]; - uint16_t dst_port = (data[offset + 2] << 8) | data[offset + 3]; - uint32_t seq_num = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - uint8_t tcp_header_len = (data[offset + 12] >> 4) * 4; - - printf("Layer 4: TCP Header\n"); - printf(" Source Port: %u\n", src_port); - printf(" Destination Port: %u", dst_port); - if (dst_port == TCP_V2G_PORT || src_port == TCP_V2G_PORT) { - printf(" (V2G Communication)\n"); - } else { - printf("\n"); - } - printf(" Sequence Number: %u\n", seq_num); - printf(" TCP Header Length: %u bytes\n", tcp_header_len); - - offset += tcp_header_len; - } - } - } - } - } - - // Look for V2G Transfer Protocol starting from current offset - if (size >= offset + 8 && - data[offset] == V2G_PROTOCOL_VERSION && - data[offset + 1] == V2G_INV_PROTOCOL_VERSION) { - - printf("Layer 7: V2G Transfer Protocol\n"); - printf(" Protocol Version: 0x%02x\n", data[offset]); - printf(" Inverse Protocol Version: 0x%02x\n", data[offset + 1]); - - uint16_t payload_type = (data[offset + 2] << 8) | data[offset + 3]; - printf(" Payload Type: 0x%04x (%s)\n", payload_type, get_payload_type_name(payload_type)); - - uint32_t payload_length = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - printf(" Payload Length: %u\n", payload_length); - printf("EXI body starts at offset: %zu\n", offset + 8); - - // Verify payload length - if (size >= offset + 8 && (size - offset - 8) == payload_length) { - printf("✓ Payload length matches actual data (%zu bytes)\n", size - offset - 8); - } else if (size >= offset + 8) { - printf("âš  Payload length mismatch: expected %u, got %zu bytes\n", - payload_length, size - offset - 8); - } - - offset += 8; - } - else if (offset == 0) { - // No network headers detected, check if it's direct V2G TP or EXI - if (size >= 4) { - uint32_t header = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; - printf("First 4 bytes: 0x%08X\n", header); - printf("Protocol: Unknown or Direct EXI\n"); - } - } - - // Look for EXI pattern - for (size_t i = 0; i <= size - 2; i++) { - uint16_t pattern = (data[i] << 8) | data[i + 1]; - if (pattern == EXI_START_PATTERN) { - printf("EXI start pattern (0x8098) found at offset: %zu\n", i); - if (i >= offset) { - printf("EXI payload size: %zu bytes\n", size - i); - } - break; - } - } - printf("\n"); -} - -// Helper function to convert char* string to exi_string_character_t* array -static int writeStringToEXIString(char* string, exi_string_character_t* exiString) { - int pos = 0; - while(string[pos] != '\0') { - exiString[pos] = string[pos]; - pos++; - } - return pos; -} - -char* trim_whitespace(char* str) { - char* end; - while(isspace((unsigned char)*str)) str++; - if(*str == 0) return str; - end = str + strlen(str) - 1; - while(end > str && isspace((unsigned char)*end)) end--; - end[1] = '\0'; - return str; -} - -// Helper function to find XML tag content within a bounded section (namespace-aware) -char* find_tag_in_section(const char* section_start, const char* section_end, const char* tag) { - static char result[1024]; - char ns_pattern[256]; - char* content_start = NULL; - char* tag_end = NULL; - - // First try namespace pattern (:tag>) - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_tag = section_start; - while ((ns_tag = strstr(ns_tag, ns_pattern)) != NULL && ns_tag < section_end) { - // Find the opening '<' - char* tag_begin = ns_tag; - while (tag_begin > section_start && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<' && tag_begin >= section_start) { - content_start = ns_tag + strlen(ns_pattern); - break; - } - ns_tag++; - } - - // If namespace version not found, try regular version - if (!content_start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* tag_start = strstr(section_start, start_tag); - if (tag_start && tag_start < section_end) { - content_start = tag_start + strlen(start_tag); - } - } - - if (!content_start || content_start >= section_end) { - return NULL; - } - - // Look for end tag (try both patterns) - char end_tag_pattern[256]; - snprintf(end_tag_pattern, sizeof(end_tag_pattern), "", tag); - tag_end = strstr(content_start, end_tag_pattern); - if (!tag_end || tag_end > section_end) { - // Try namespace end pattern - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_end = content_start; - while ((ns_end = strstr(ns_end, ns_pattern)) != NULL && ns_end < section_end) { - char* end_begin = ns_end; - while (end_begin > content_start && *end_begin != '<') end_begin--; - if (end_begin > content_start && *end_begin == '<' && *(end_begin + 1) == '/') { - tag_end = end_begin; - break; - } - ns_end++; - } - } - - if (!tag_end || tag_end > section_end) { - return NULL; - } - - size_t len = tag_end - content_start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, content_start, len); - result[len] = '\0'; - - return trim_whitespace(result); -} - -// Helper function to find XML tag content (namespace-aware) -char* find_tag_content_ns(const char* xml, const char* tag) { - static char result[1024]; - char ns_pattern[256], end_pattern[256]; - - // Look for pattern ":tagname>" to handle namespaces - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - snprintf(end_pattern, sizeof(end_pattern), "", tag); - - // First try to find namespace version (:tag>) - char* ns_start = strstr(xml, ns_pattern); - char* start = NULL; - - if (ns_start) { - // Found namespaced tag, find the opening '<' - char* tag_begin = ns_start; - while (tag_begin > xml && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<') { - start = ns_start + strlen(ns_pattern); - } - } - - // If namespace version not found, try regular version - if (!start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* regular_start = strstr(xml, start_tag); - if (regular_start) { - start = regular_start + strlen(start_tag); - } - } - - if (!start) return NULL; - - // Look for end tag (try both namespaced and regular) - char ns_end_pattern[256]; - snprintf(ns_end_pattern, sizeof(ns_end_pattern), "", tag); - - char* end = strstr(start, ns_end_pattern); - if (!end) { - // Try with different namespace prefix - snprintf(ns_end_pattern, sizeof(ns_end_pattern), ":%s>", tag); - char* ns_end = strstr(start, ns_end_pattern); - if (ns_end) { - char* end_tag_begin = ns_end; - while (end_tag_begin > start && *end_tag_begin != '<') end_tag_begin--; - if (*end_tag_begin == '<' && *(end_tag_begin + 1) == '/') { - end = ns_end + strlen(ns_end_pattern); - // Backtrack to find the actual end - end = end_tag_begin; - } - } - } - - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, start, len); - result[len] = '\0'; - return trim_whitespace(result); -} - -// Helper function to find XML tag content -char* find_tag_content(const char* xml, const char* tag) { - // First try namespace-aware search - char* result = find_tag_content_ns(xml, tag); - if (result) return result; - - // Fallback to original method - static char fallback_result[1024]; - char start_tag[256], end_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - snprintf(end_tag, sizeof(end_tag), "", tag); - - char* start = strstr(xml, start_tag); - if (!start) return NULL; - start += strlen(start_tag); - - char* end = strstr(start, end_tag); - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(fallback_result)) len = sizeof(fallback_result) - 1; - - strncpy(fallback_result, start, len); - fallback_result[len] = '\0'; - return trim_whitespace(fallback_result); -} - -int parse_session_id(const char* hex_str, uint8_t* bytes, size_t* len) { - size_t hex_len = strlen(hex_str); - if (hex_len % 2 != 0) return -1; - - *len = hex_len / 2; - for (size_t i = 0; i < *len; i++) { - unsigned int byte; - if (sscanf(&hex_str[i*2], "%2x", &byte) != 1) return -1; - bytes[i] = (uint8_t)byte; - } - return 0; -} - -// Parse PhysicalValue from section bounded XML -void parse_physical_value_from_section(const char* section_start, const char* section_end, struct iso1PhysicalValueType* pv) { - // Copy the found values to local variables to avoid static buffer overwriting - char mult_str[64] = {0}; - char unit_str[64] = {0}; - char value_str[64] = {0}; - - char* mult = find_tag_in_section(section_start, section_end, "Multiplier"); - if (mult) strncpy(mult_str, mult, sizeof(mult_str)-1); - - char* unit = find_tag_in_section(section_start, section_end, "Unit"); - if (unit) strncpy(unit_str, unit, sizeof(unit_str)-1); - - char* value = find_tag_in_section(section_start, section_end, "Value"); - if (value) strncpy(value_str, value, sizeof(value_str)-1); - - // Now parse the copied values - if (mult) pv->Multiplier = atoi(mult_str); - if (unit) pv->Unit = atoi(unit_str); - if (value) pv->Value = atoi(value_str); -} - -// Parse XML to ISO1 document for encoding -int parse_xml_to_iso1(const char* xml_content, struct iso1EXIDocument* doc) { - init_iso1EXIDocument(doc); - - // Find SessionID - char* session_id_str = find_tag_content(xml_content, "SessionID"); - if (session_id_str) { - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } else { - // Search directly for namespaced SessionID - char* ns_start = strstr(xml_content, ""); - if (ns_start) { - ns_start += strlen(""); - char* ns_end = strstr(ns_start, ""); - if (ns_end) { - size_t len_str = ns_end - ns_start; - static char session_id_temp[256]; - if (len_str < sizeof(session_id_temp)) { - strncpy(session_id_temp, ns_start, len_str); - session_id_temp[len_str] = '\0'; - session_id_str = trim_whitespace(session_id_temp); - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } - } - } - } - - // Check for CurrentDemandReq - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandReqë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandReq_isUsed = 1; - - // Initialize CurrentDemandReq structure completely - init_iso1CurrentDemandReqType(&doc->V2G_Message.Body.CurrentDemandReq); - - // Set all optional fields to NOT USED by default - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 0; - - // Parse DC_EVStatus - char* ev_ready = find_tag_content(xml_content, "EVReady"); - if (ev_ready) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady = (strcmp(ev_ready, "true") == 0); - } - - char* ev_error = find_tag_content(xml_content, "EVErrorCode"); - if (ev_error) { - if (strcmp(ev_error, "NO_ERROR") == 0) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 0; - } else { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = atoi(ev_error); - } - } - - char* ev_soc = find_tag_content(xml_content, "EVRESSSOC"); - if (ev_soc) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC = atoi(ev_soc); - } - - // Parse EVTargetCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent); - } - } - - // Parse EVTargetVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage); - } - } - - // Parse ChargingComplete - char* charging_complete = find_tag_content(xml_content, "ChargingComplete"); - if (charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete = (strcmp(charging_complete, "true") == 0); - } - - // Parse optional fields if present - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1; - char* max_volt_section = strstr(xml_content, ""); - if (!max_volt_section) max_volt_section = strstr(xml_content, ""); - char* max_volt_end = strstr(max_volt_section, ""); - if (!max_volt_end) max_volt_end = strstr(max_volt_section, ""); - if (max_volt_section && max_volt_end) { - parse_physical_value_from_section(max_volt_section, max_volt_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1; - char* max_curr_section = strstr(xml_content, ""); - if (!max_curr_section) max_curr_section = strstr(xml_content, ""); - char* max_curr_end = strstr(max_curr_section, ""); - if (!max_curr_end) max_curr_end = strstr(max_curr_section, ""); - if (max_curr_section && max_curr_end) { - parse_physical_value_from_section(max_curr_section, max_curr_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1; - char* max_power_section = strstr(xml_content, ""); - if (!max_power_section) max_power_section = strstr(xml_content, ""); - char* max_power_end = strstr(max_power_section, ""); - if (!max_power_end) max_power_end = strstr(max_power_section, ""); - if (max_power_section && max_power_end) { - parse_physical_value_from_section(max_power_section, max_power_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit); - } - } - - // Parse BulkChargingComplete - char* bulk_charging_complete = find_tag_content(xml_content, "BulkChargingComplete"); - if (bulk_charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 1; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete = (strcmp(bulk_charging_complete, "true") == 0); - } - - // Parse remaining time fields - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1; - char* time_section = strstr(xml_content, ""); - if (!time_section) time_section = strstr(xml_content, ""); - char* time_end = strstr(time_section, ""); - if (!time_end) time_end = strstr(time_section, ""); - if (time_section && time_end) { - parse_physical_value_from_section(time_section, time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1; - char* bulk_time_section = strstr(xml_content, ""); - if (!bulk_time_section) bulk_time_section = strstr(xml_content, ""); - char* bulk_time_end = strstr(bulk_time_section, ""); - if (!bulk_time_end) bulk_time_end = strstr(bulk_time_section, ""); - if (bulk_time_section && bulk_time_end) { - parse_physical_value_from_section(bulk_time_section, bulk_time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC); - } - } - - return 0; - } - - // Check for CurrentDemandRes - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandResë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandRes_isUsed = 1; - init_iso1CurrentDemandResType(&doc->V2G_Message.Body.CurrentDemandRes); - - // Parse ResponseCode - char* response_code = find_tag_content(xml_content, "ResponseCode"); - if (response_code) { - doc->V2G_Message.Body.CurrentDemandRes.ResponseCode = atoi(response_code); - } - - // Parse DC_EVSEStatus - char* evse_isolation = find_tag_content_ns(xml_content, "EVSEIsolationStatus"); - if (evse_isolation) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus = atoi(evse_isolation); - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; - } - - char* evse_status = find_tag_content_ns(xml_content, "EVSEStatusCode"); - if (evse_status) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = atoi(evse_status); - } - - // Parse EVSEPresentVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage); - } - } - - // Parse EVSEPresentCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent); - } - } - - // Parse limit achieved flags - char* current_limit = find_tag_content(xml_content, "EVSECurrentLimitAchieved"); - if (current_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved = (strcmp(current_limit, "true") == 0); - } - - char* voltage_limit = find_tag_content(xml_content, "EVSEVoltageLimitAchieved"); - if (voltage_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved = (strcmp(voltage_limit, "true") == 0); - } - - char* power_limit = find_tag_content(xml_content, "EVSEPowerLimitAchieved"); - if (power_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved = (strcmp(power_limit, "true") == 0); - } - - // Parse EVSEID - char* evseid = find_tag_content(xml_content, "EVSEID"); - if (evseid) { - size_t len = strlen(evseid); - if (len < sizeof(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters)) { - memcpy(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters, evseid, len); - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen = len; - } - } - - // Parse SAScheduleTupleID - char* sa_schedule = find_tag_content(xml_content, "SAScheduleTupleID"); - if (sa_schedule) { - doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID = atoi(sa_schedule); - } - - return 0; - } - - return -1; // Unsupported message type -} - -// 구조체 ì „ì²´ ë‚´ìš©ì„ í…스트 파ì¼ë¡œ ë¤í”„하는 함수 -void dump_iso1_document_to_file(const struct iso1EXIDocument* doc, const char* filename) { - FILE* fp = fopen(filename, "w"); - if (!fp) { - printf("Error: Cannot create file %s\n", filename); - return; - } - - fprintf(fp, "=== ISO1 EXI Document Structure Dump ===\n\n"); - - // Document level - fprintf(fp, "V2G_Message_isUsed: %u\n", doc->V2G_Message_isUsed); - - if (doc->V2G_Message_isUsed) { - // Header - fprintf(fp, "\n--- Header ---\n"); - fprintf(fp, "SessionID.bytesLen: %u\n", doc->V2G_Message.Header.SessionID.bytesLen); - fprintf(fp, "SessionID.bytes: "); - for (int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - fprintf(fp, "%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - fprintf(fp, "\n"); - fprintf(fp, "Notification_isUsed: %u\n", doc->V2G_Message.Header.Notification_isUsed); - fprintf(fp, "Signature_isUsed: %u\n", doc->V2G_Message.Header.Signature_isUsed); - - // Body - All message type flags - fprintf(fp, "\n--- Body Message Type Flags ---\n"); - fprintf(fp, "AuthorizationReq_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationReq_isUsed); - fprintf(fp, "AuthorizationRes_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationRes_isUsed); - fprintf(fp, "BodyElement_isUsed: %u\n", doc->V2G_Message.Body.BodyElement_isUsed); - fprintf(fp, "CableCheckReq_isUsed: %u\n", doc->V2G_Message.Body.CableCheckReq_isUsed); - fprintf(fp, "CableCheckRes_isUsed: %u\n", doc->V2G_Message.Body.CableCheckRes_isUsed); - fprintf(fp, "CertificateInstallationReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationReq_isUsed); - fprintf(fp, "CertificateInstallationRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationRes_isUsed); - fprintf(fp, "CertificateUpdateReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateReq_isUsed); - fprintf(fp, "CertificateUpdateRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateRes_isUsed); - fprintf(fp, "ChargeParameterDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed); - fprintf(fp, "ChargeParameterDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed); - fprintf(fp, "ChargingStatusReq_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusReq_isUsed); - fprintf(fp, "ChargingStatusRes_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusRes_isUsed); - fprintf(fp, "CurrentDemandReq_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq_isUsed); - fprintf(fp, "CurrentDemandRes_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandRes_isUsed); - fprintf(fp, "MeteringReceiptReq_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptReq_isUsed); - fprintf(fp, "MeteringReceiptRes_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptRes_isUsed); - fprintf(fp, "PaymentDetailsReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsReq_isUsed); - fprintf(fp, "PaymentDetailsRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsRes_isUsed); - fprintf(fp, "PaymentServiceSelectionReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionReq_isUsed); - fprintf(fp, "PaymentServiceSelectionRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionRes_isUsed); - fprintf(fp, "PowerDeliveryReq_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryReq_isUsed); - fprintf(fp, "PowerDeliveryRes_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryRes_isUsed); - fprintf(fp, "PreChargeReq_isUsed: %u\n", doc->V2G_Message.Body.PreChargeReq_isUsed); - fprintf(fp, "PreChargeRes_isUsed: %u\n", doc->V2G_Message.Body.PreChargeRes_isUsed); - fprintf(fp, "ServiceDetailReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailReq_isUsed); - fprintf(fp, "ServiceDetailRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailRes_isUsed); - fprintf(fp, "ServiceDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryReq_isUsed); - fprintf(fp, "ServiceDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryRes_isUsed); - fprintf(fp, "SessionSetupReq_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupReq_isUsed); - fprintf(fp, "SessionSetupRes_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupRes_isUsed); - fprintf(fp, "SessionStopReq_isUsed: %u\n", doc->V2G_Message.Body.SessionStopReq_isUsed); - fprintf(fp, "SessionStopRes_isUsed: %u\n", doc->V2G_Message.Body.SessionStopRes_isUsed); - fprintf(fp, "WeldingDetectionReq_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionReq_isUsed); - fprintf(fp, "WeldingDetectionRes_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionRes_isUsed); - - // CurrentDemandReq ìƒì„¸ ì •ë³´ - if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - fprintf(fp, "\n--- CurrentDemandReq Details ---\n"); - - // DC_EVStatus - fprintf(fp, "DC_EVStatus.EVReady: %u\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady); - fprintf(fp, "DC_EVStatus.EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - fprintf(fp, "DC_EVStatus.EVRESSSOC: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - // EVTargetCurrent - fprintf(fp, "EVTargetCurrent.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - fprintf(fp, "EVTargetCurrent.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - fprintf(fp, "EVTargetCurrent.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - // ì„ íƒì  필드들 - fprintf(fp, "EVMaximumVoltageLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - fprintf(fp, "EVMaximumVoltageLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - fprintf(fp, "EVMaximumVoltageLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - fprintf(fp, "EVMaximumVoltageLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - fprintf(fp, "EVMaximumCurrentLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - fprintf(fp, "EVMaximumCurrentLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - fprintf(fp, "EVMaximumCurrentLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - fprintf(fp, "EVMaximumCurrentLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - fprintf(fp, "EVMaximumPowerLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - fprintf(fp, "EVMaximumPowerLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - fprintf(fp, "EVMaximumPowerLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - fprintf(fp, "EVMaximumPowerLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - fprintf(fp, "BulkChargingComplete_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - fprintf(fp, "BulkChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete); - } - - // ChargingComplete (필수 필드) - fprintf(fp, "ChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete); - - fprintf(fp, "RemainingTimeToFullSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - fprintf(fp, "RemainingTimeToFullSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - fprintf(fp, "RemainingTimeToFullSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - fprintf(fp, "RemainingTimeToFullSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - fprintf(fp, "RemainingTimeToBulkSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - fprintf(fp, "RemainingTimeToBulkSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - fprintf(fp, "RemainingTimeToBulkSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - fprintf(fp, "RemainingTimeToBulkSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - - // EVTargetVoltage (필수 필드) - fprintf(fp, "EVTargetVoltage.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - fprintf(fp, "EVTargetVoltage.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - fprintf(fp, "EVTargetVoltage.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - } - } - - fclose(fp); - printf("✓ Structure dump saved to %s\n", filename); -} - -// Helper function to convert hex string to binary -int hexStringToBinary(const char* hex_string, uint8_t* buffer, size_t buffer_size, size_t* bytes_written) { - size_t hex_len = strlen(hex_string); - - // Remove any whitespace and newlines - char* cleaned_hex = malloc(hex_len + 1); - if (!cleaned_hex) { - return -1; - } - - size_t clean_pos = 0; - for (size_t i = 0; i < hex_len; i++) { - char c = hex_string[i]; - if (isxdigit(c)) { - cleaned_hex[clean_pos++] = toupper(c); - } - } - cleaned_hex[clean_pos] = '\0'; - - // Check if hex string length is even - if (clean_pos % 2 != 0) { - free(cleaned_hex); - return -1; // Invalid hex string length - } - - size_t binary_len = clean_pos / 2; - if (binary_len > buffer_size) { - free(cleaned_hex); - return -2; // Buffer too small - } - - // Convert hex pairs to bytes - for (size_t i = 0; i < binary_len; i++) { - char hex_byte[3] = {cleaned_hex[i*2], cleaned_hex[i*2+1], '\0'}; - unsigned int byte_val; - if (sscanf(hex_byte, "%X", &byte_val) != 1) { - free(cleaned_hex); - return -3; // Invalid hex character - } - buffer[i] = (uint8_t)byte_val; - } - - *bytes_written = binary_len; - free(cleaned_hex); - return 0; -} - -// Helper function to read EXI file -int readEXIFile(char* file, uint8_t* buffer, size_t buffer_size, size_t *bytes_read) { - FILE *fp = fopen(file, "rb"); - if (fp == NULL) { - return -1; - } - - *bytes_read = fread(buffer, 1, buffer_size, fp); - fclose(fp); - - if (*bytes_read == 0) { - return -1; - } - - return 0; -} - -// Helper functions for Wireshark XML output removed - using numeric values directly - -void print_xml_header_wireshark() { - printf("\n"); - printf("\n"); -} - -void print_xml_footer_wireshark() { - printf(""); -} - -void print_iso1_xml_wireshark(struct iso1EXIDocument* doc) { - print_xml_header_wireshark(); - - printf(""); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(""); - - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - printf(""); - - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - printf("%.*s", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - printf(""); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf(""); - printf(""); - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - printf(""); - } - - // EVTargetVoltage must come last according to EXI grammar - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - printf(""); - - printf(""); - } - - printf(""); - print_xml_footer_wireshark(); -} - -void print_iso1_message(struct iso1EXIDocument* doc) { - printf("=== ISO 15118-2 V2G Message Analysis ===\n"); - printf("Message Type: ISO1 (2013)\n"); - printf("V2G_Message_isUsed: %s\n", doc->V2G_Message_isUsed ? "true" : "false"); - - if (doc->V2G_Message_isUsed) { - printf("\n--- Header ---\n"); - printf("SessionID: "); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(" ("); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - if (doc->V2G_Message.Header.SessionID.bytes[i] >= 32 && doc->V2G_Message.Header.SessionID.bytes[i] <= 126) { - printf("%c", doc->V2G_Message.Header.SessionID.bytes[i]); - } else { - printf("."); - } - } - printf(")\n"); - - printf("\n--- Body ---\n"); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf("Message Type: CurrentDemandRes\n"); - printf("ResponseCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - - printf("\nDC_EVSEStatus:\n"); - printf(" EVSEIsolationStatus: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf(" EVSEStatusCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - - printf("\nEVSEPresentVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - - printf("\nEVSEPresentCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - - printf("\nLimit Status:\n"); - printf(" CurrentLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf(" VoltageLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf(" PowerLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - - printf("\nEVSEID: %.*s\n", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("SAScheduleTupleID: %d\n", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf("Message Type: CurrentDemandReq\n"); - - printf("\nDC_EVStatus:\n"); - printf(" EVReady: %s\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - printf(" EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - printf(" EVRESSSOC: %d%%\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - printf("\nEVTargetCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - printf("\nEVTargetVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf("\nEVMaximumVoltageLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf("\nEVMaximumCurrentLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf("\nEVMaximumPowerLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("\nBulkChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("ChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf("\nRemainingTimeToFullSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf("\nRemainingTimeToBulkSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - } - else { - printf("Message Type: Other message type (not fully supported)\n"); - } - } - printf("\n"); -} - -int main(int argc, char *argv[]) { - printf("DEBUG: argc=%d\n", argc); - int xml_mode = 0; - int encode_mode = 0; - char *filename = NULL; - int arg_index = 1; - - // Check for debug option first - if (argc >= 2 && strcmp(argv[1], "-debug") == 0) { - EXI_DEBUG_MODE = 1; - arg_index = 2; - argc--; // Shift arguments - printf("Debug mode enabled: detailed bit-level encoding/decoding output\n"); - } - - if (argc == 2) { - if (strcmp(argv[arg_index], "-encode") == 0) { - // Special case: -encode without filename reads from stdin - encode_mode = 1; - filename = "-"; // Use "-" to indicate stdin - } else if (strcmp(argv[arg_index], "-decode") == 0) { - // Special case: -decode without filename reads from stdin - xml_mode = 1; - filename = "-"; // Use "-" to indicate stdin - } else { - filename = argv[arg_index]; - } - } else if (argc == 3 && strcmp(argv[arg_index], "-decode") == 0) { - xml_mode = 1; - filename = argv[arg_index + 1]; - } else if (argc == 3 && strcmp(argv[arg_index], "-encode") == 0) { - encode_mode = 1; - filename = argv[arg_index + 1]; - } else { - printf("Usage: %s [-debug] [-decode|-encode] input_file\\n", argv[0]); - printf(" %s [-debug] -encode (read XML from stdin)\\n", argv[0]); - printf(" %s [-debug] -decode (read hex string from stdin)\\n", argv[0]); - printf("Enhanced EXI viewer with XML conversion capabilities\\n"); - printf(" -debug Enable detailed bit-level encoding/decoding output\\n"); - printf(" -decode Convert EXI to Wireshark-style XML format\\n"); - printf(" -decode Read hex string from stdin (echo hex | %s -decode)\\n", argv[0]); - printf(" -encode Convert XML to EXI format\\n"); - printf(" -encode Read XML from stdin (type file.xml | %s -encode)\\n", argv[0]); - printf(" (default) Analyze EXI with detailed output\\n"); - return -1; - } - - uint8_t buffer[BUFFER_SIZE]; - bitstream_t stream; - size_t pos = 0; - int errn = 0; - - struct iso1EXIDocument iso1Doc; - struct iso2EXIDocument iso2Doc; - struct dinEXIDocument dinDoc; - - // Initialize documents - init_iso1EXIDocument(&iso1Doc); - init_iso2EXIDocument(&iso2Doc); - init_dinEXIDocument(&dinDoc); - - // Handle encode mode (XML to EXI) - if (encode_mode) { - fprintf(stderr, "DEBUG: Entering encode mode\n"); - FILE* xml_file; - char* xml_content; - long xml_size; - - // Check if reading from stdin or file - if (strcmp(filename, "-") == 0) { - // Read from stdin - xml_file = stdin; - - // Read all content from stdin - size_t capacity = 4096; - xml_content = malloc(capacity); - if (!xml_content) { - printf("Error allocating memory for XML content\\n"); - return -1; - } - - xml_size = 0; - int ch; - while ((ch = fgetc(stdin)) != EOF) { - if (xml_size >= capacity - 1) { - capacity *= 2; - xml_content = realloc(xml_content, capacity); - if (!xml_content) { - printf("Error reallocating memory for XML content\\n"); - return -1; - } - } - xml_content[xml_size++] = ch; - } - xml_content[xml_size] = '\0'; - } else { - // Read XML file - xml_file = fopen(filename, "r"); - if (!xml_file) { - printf("Error opening XML file: %s\n", filename); - return -1; - } - - // Read entire XML content - fseek(xml_file, 0, SEEK_END); - xml_size = ftell(xml_file); - fseek(xml_file, 0, SEEK_SET); - - xml_content = malloc(xml_size + 1); - if (!xml_content) { - printf("Error allocating memory for XML content\\n"); - fclose(xml_file); - return -1; - } - - fread(xml_content, 1, xml_size, xml_file); - xml_content[xml_size] = '\0'; - fclose(xml_file); - } - - // Parse XML to ISO1 document structure - fprintf(stderr, "DEBUG: About to parse XML content\n"); - int parse_result = parse_xml_to_iso1(xml_content, &iso1Doc); - fprintf(stderr, "DEBUG: XML parse result: %d\n", parse_result); - if (parse_result != 0) { - printf("Error parsing XML file - no supported message type found\\n"); - free(xml_content); - return -1; - } - - // XML parsing debug info to stderr (optional) - // fprintf(stderr, "=== XML Parsing Debug ===\\n"); - // fprintf(stderr, "V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false"); - // fprintf(stderr, "SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen); - // fprintf(stderr, "CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false"); - - // Debug output disabled for clean hex-only output - - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - fprintf(stderr, "EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - fprintf(stderr, "EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - fprintf(stderr, "EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - fprintf(stderr, "EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - fprintf(stderr, "EVTargetVoltage: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - } - - - free(xml_content); - - // Encode to EXI - pos = 0; - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // 구조체 ë¤í”„ (디버그용, 필요시 활성화) - fprintf(stderr, "DEBUG: About to dump structure to temp/struct_xml.txt\n"); - dump_iso1_document_to_file(&iso1Doc, "temp/struct_xml.txt"); - fprintf(stderr, "DEBUG: Structure dump completed\n"); - - errn = encode_iso1ExiDocument(&stream, &iso1Doc); - - if (errn != 0) { - fprintf(stderr, "Error encoding to EXI (error: %d)\\n", errn); - return -1; - } - - // Check if output is redirected - struct stat stat_buf; - int is_redirected = (fstat(fileno(stdout), &stat_buf) == 0 && S_ISREG(stat_buf.st_mode)); - - if (is_redirected) { - // Redirected output: write binary data - fwrite(buffer, 1, pos, stdout); - } else { - // Terminal output: show hex string only (like XML decode mode) - for(size_t i = 0; i < pos; i++) { - printf("%02X", buffer[i]); - } - printf("\n"); - } - return 0; - } - - // Read EXI data for decode/analysis mode - if (strcmp(filename, "-") == 0 && xml_mode) { - // Read hex string from stdin for decode mode - char hex_input[BUFFER_SIZE * 2 + 1]; // Hex string can be up to 2x binary size - size_t hex_len = 0; - - // Read hex string from stdin - int ch; - while ((ch = fgetc(stdin)) != EOF && hex_len < sizeof(hex_input) - 1) { - hex_input[hex_len++] = ch; - } - hex_input[hex_len] = '\0'; - - // Convert hex string to binary - errn = hexStringToBinary(hex_input, buffer, BUFFER_SIZE, &pos); - if (errn != 0) { - printf("Error converting hex string to binary (error: %d)\\n", errn); - printf("Make sure input is a valid hex string like: 8098021050908C0C0C0E0C50E001993206002040C40C203030C014000603DA98B3E60C0008\\n"); - return -1; - } - - if (!xml_mode) { - printf("Hex string from stdin (%zu bytes converted to %zu binary bytes)\\n", hex_len, pos); - } - } else { - // Read from file - errn = readEXIFile(filename, buffer, BUFFER_SIZE, &pos); - if (errn != 0) { - printf("Error reading file: %s\\n", filename); - return -1; - } - } - - if (!xml_mode) { - printf("File: %s (%zu bytes)\\n", filename, pos); - printf("Raw hex data: "); - for(size_t i = 0; i < (pos > 32 ? 32 : pos); i++) { - printf("%02X ", buffer[i]); - } - if (pos > 32) printf("..."); - printf("\\n\\n"); - - // Analyze data structure and extract EXI body - analyze_data_structure(buffer, pos); - } - - // Extract EXI body from V2G Transfer Protocol data - uint8_t exi_buffer[BUFFER_SIZE]; - size_t exi_size = extract_exi_body(buffer, pos, exi_buffer, BUFFER_SIZE); - - if (exi_size != pos) { - if (!xml_mode) { - printf("EXI body extracted: %zu bytes (was %zu bytes)\\n", exi_size, pos); - printf("EXI hex data: "); - for(size_t i = 0; i < (exi_size > 32 ? 32 : exi_size); i++) { - printf("%02X ", exi_buffer[i]); - } - if (exi_size > 32) printf("..."); - printf("\\n\\n"); - } - // Use extracted EXI data - memcpy(buffer, exi_buffer, exi_size); - pos = exi_size; - } - - // Setup stream - pos = 0; // reset position for decoding - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // Try ISO1 first - pos = 0; - if (!xml_mode) printf("Trying ISO1 decoder...\\n"); - errn = decode_iso1ExiDocument(&stream, &iso1Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO1\\n\\n"); - if (xml_mode) { - print_iso1_xml_wireshark(&iso1Doc); - } else { - print_iso1_message(&iso1Doc); - - // Compare with expected structure - printf("\\n=== Original EXI Structure Debug ===\\n"); - printf("V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false"); - printf("SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen); - printf("CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false"); - - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - printf("EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - printf("EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - printf("EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf("EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf("EVMaximumVoltageLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed ? "true" : "false"); - printf("EVMaximumCurrentLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed ? "true" : "false"); - printf("EVMaximumPowerLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed ? "true" : "false"); - printf("BulkChargingComplete_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed ? "true" : "false"); - printf("RemainingTimeToFullSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed ? "true" : "false"); - printf("RemainingTimeToBulkSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed ? "true" : "false"); - } - } - - // ì›ë³¸ EXI 디코딩 후 구조체 ë¤í”„ (ë¶„ì„ ëª¨ë“œì¼ ë•Œë§Œ) - if (!xml_mode) { - dump_iso1_document_to_file(&iso1Doc, "struct_exi.txt"); - } - - return 0; - } else { - if (!xml_mode) printf("✗ ISO1 decode failed (error: %d)\\n", errn); - } - - // Try ISO2 - pos = 0; - if (!xml_mode) printf("Trying ISO2 decoder...\\n"); - errn = decode_iso2ExiDocument(&stream, &iso2Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO2\\n\\n"); - if (xml_mode) { - printf("ISO2 XML output not implemented for Wireshark format\\n"); - } else { - printf("ISO2 analysis not fully implemented\\n"); - } - return 0; - } else { - if (!xml_mode) printf("✗ ISO2 decode failed (error: %d)\\n", errn); - } - - // Try DIN - pos = 0; - if (!xml_mode) printf("Trying DIN decoder...\\n"); - errn = decode_dinExiDocument(&stream, &dinDoc); - if (errn == 0) { - if (!xml_mode) { - printf("✓ Successfully decoded as DIN\\n\\n"); - printf("=== DIN V2G Message ===\\n"); - // Add DIN message printing as needed - } - return 0; - } else { - if (!xml_mode) printf("✗ DIN decode failed (error: %d)\\n", errn); - } - - if (!xml_mode) { - printf("\\n⌠Could not decode EXI file with any supported codec\\n"); - printf("Supported formats: ISO1, ISO2, DIN\\n"); - } - - return -1; -} \ No newline at end of file diff --git a/Port/vc2022/hex_dump_to_binary.c b/Port/vc2022/hex_dump_to_binary.c deleted file mode 100644 index e5399b5..0000000 --- a/Port/vc2022/hex_dump_to_binary.c +++ /dev/null @@ -1,78 +0,0 @@ -#include -#include -#include -#include - -int hex_char_to_int(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return c - 'A' + 10; - if (c >= 'a' && c <= 'f') return c - 'a' + 10; - return -1; -} - -int main() { - // Extract EXI data starting from offset 0x0052 (after "80 98 02") - // The complete EXI data from the hex dump - const char* hex_string = "8098021050908c0c0c0e0c50d10032018600a01881ae0601860c806140c801030800006100001881980600"; - - size_t hex_len = strlen(hex_string); - if (hex_len % 2 != 0) { - printf("Error: Hex string length must be even\n"); - return -1; - } - - size_t binary_len = hex_len / 2; - unsigned char* binary_data = malloc(binary_len); - - if (!binary_data) { - printf("Memory allocation failed\n"); - return -1; - } - - // Convert hex string to binary - for (size_t i = 0; i < binary_len; i++) { - int high = hex_char_to_int(hex_string[i * 2]); - int low = hex_char_to_int(hex_string[i * 2 + 1]); - - if (high == -1 || low == -1) { - printf("Invalid hex character at position %zu\n", i * 2); - free(binary_data); - return -1; - } - - binary_data[i] = (high << 4) | low; - } - - // Write to file - FILE* file = fopen("test2.exi", "wb"); - if (!file) { - printf("Cannot create output file\n"); - free(binary_data); - return -1; - } - - size_t written = fwrite(binary_data, 1, binary_len, file); - fclose(file); - free(binary_data); - - if (written != binary_len) { - printf("Write error\n"); - return -1; - } - - printf("Successfully created test2.exi with %zu bytes\n", binary_len); - - // Show first few bytes for verification - printf("First 16 bytes: "); - FILE* verify = fopen("test2.exi", "rb"); - if (verify) { - for (int i = 0; i < 16 && i < binary_len; i++) { - int c = fgetc(verify); - printf("%02X ", c); - } - fclose(verify); - } - printf("\n"); - - return 0; -} \ No newline at end of file diff --git a/Port/vc2022/hex_to_binary.c b/Port/vc2022/hex_to_binary.c deleted file mode 100644 index 1037059..0000000 --- a/Port/vc2022/hex_to_binary.c +++ /dev/null @@ -1,76 +0,0 @@ -#include -#include -#include -#include - -int hex_char_to_int(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return c - 'A' + 10; - if (c >= 'a' && c <= 'f') return c - 'a' + 10; - return -1; -} - -int main() { - const char* hex_string = "8098021050908C0C0C0E0C50D10032018600A01881AE0601860C806140C801030800006100001881980600"; - - size_t hex_len = strlen(hex_string); - if (hex_len % 2 != 0) { - printf("Error: Hex string length must be even\n"); - return -1; - } - - size_t binary_len = hex_len / 2; - unsigned char* binary_data = malloc(binary_len); - - if (!binary_data) { - printf("Memory allocation failed\n"); - return -1; - } - - // Convert hex string to binary - for (size_t i = 0; i < binary_len; i++) { - int high = hex_char_to_int(hex_string[i * 2]); - int low = hex_char_to_int(hex_string[i * 2 + 1]); - - if (high == -1 || low == -1) { - printf("Invalid hex character at position %zu\n", i * 2); - free(binary_data); - return -1; - } - - binary_data[i] = (high << 4) | low; - } - - // Write to file - FILE* file = fopen("test1.exi", "wb"); - if (!file) { - printf("Cannot create output file\n"); - free(binary_data); - return -1; - } - - size_t written = fwrite(binary_data, 1, binary_len, file); - fclose(file); - free(binary_data); - - if (written != binary_len) { - printf("Write error\n"); - return -1; - } - - printf("Successfully created test1.exi with %zu bytes\n", binary_len); - - // Show first few bytes for verification - printf("First 16 bytes: "); - FILE* verify = fopen("test1.exi", "rb"); - if (verify) { - for (int i = 0; i < 16 && i < binary_len; i++) { - int c = fgetc(verify); - printf("%02X ", c); - } - fclose(verify); - } - printf("\n"); - - return 0; -} \ No newline at end of file diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypes.c b/Port/vc2022/src/appHandshake/appHandEXIDatatypes.c deleted file mode 100644 index 35e9fbf..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypes.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "appHandEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_appHand_DATATYPES_C -#define EXI_appHand_DATATYPES_C - - - -void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc) { - exiDoc->supportedAppProtocolReq_isUsed = 0u; - exiDoc->supportedAppProtocolRes_isUsed = 0u; -} - -void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType) { -} - -void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen = 0u; -} - -void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 0u; -} - - - - - -#endif - diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypes.h b/Port/vc2022/src/appHandshake/appHandEXIDatatypes.h deleted file mode 100644 index 26a24c6..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypes.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_appHand_DATATYPES_H -#define EXI_appHand_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -#define appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE 100 /* XML schema facet maxLength for urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType is 100 */ -struct appHandAppProtocolType { - /* element: ProtocolNamespace, urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType */ - struct { - exi_string_character_t characters[appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ProtocolNamespace ; - /* element: VersionNumberMajor, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t VersionNumberMajor ; - /* element: VersionNumberMinor, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t VersionNumberMinor ; - /* element: SchemaID, urn:iso:15118:2:2010:AppProtocol,idType */ - uint8_t SchemaID ; - /* element: Priority, urn:iso:15118:2:2010:AppProtocol,priorityType */ - uint8_t Priority ; -}; - -typedef enum { - appHandresponseCodeType_OK_SuccessfulNegotiation = 0, - appHandresponseCodeType_OK_SuccessfulNegotiationWithMinorDeviation = 1, - appHandresponseCodeType_Failed_NoNegotiation = 2 -} appHandresponseCodeType; - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -struct appHandAnonType_supportedAppProtocolRes { - /* element: ResponseCode, urn:iso:15118:2:2010:AppProtocol,responseCodeType */ - appHandresponseCodeType ResponseCode ; - /* element: SchemaID, urn:iso:15118:2:2010:AppProtocol,idType */ - uint8_t SchemaID ; - unsigned int SchemaID_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -#define appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE 5 -struct appHandAnonType_supportedAppProtocolReq { - /* element: AppProtocol, Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ - struct { - struct appHandAppProtocolType array[appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE]; - uint16_t arrayLen; - } AppProtocol; -}; - - - - - -/* Possible root elements of EXI Document */ -struct appHandEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct appHandAnonType_supportedAppProtocolReq supportedAppProtocolReq ; - struct appHandAnonType_supportedAppProtocolRes supportedAppProtocolRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int supportedAppProtocolReq_isUsed:1; - unsigned int supportedAppProtocolRes_isUsed:1; - - - int _warning_; -}; - -/* Initialization methods for structs */ - -void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc); -void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType); -void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.c b/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.c deleted file mode 100644 index 466af7e..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.c +++ /dev/null @@ -1,896 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - - -#include "appHandEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "appHandEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_appHand_DATATYPES_DECODER_C -#define EXI_appHand_DATATYPES_DECODER_C - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - - -/* Forward Declarations */ -static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); -static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) { - int grammarID = 0; - int done = 0; - - init_appHandAppProtocolType(appHandAppProtocolType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ - 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, &appHandAppProtocolType->ProtocolNamespace.charactersLen); - 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, appHandAppProtocolType_ProtocolNamespace_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(ProtocolNamespace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* Element[START_ELEMENT(VersionNumberMajor)] */ - 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, &appHandAppProtocolType->VersionNumberMajor); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(VersionNumberMajor) ? */ - 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[START_ELEMENT(VersionNumberMinor)] */ - 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, &appHandAppProtocolType->VersionNumberMinor); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(VersionNumberMinor) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[START_ELEMENT(SchemaID)] */ - 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)); - appHandAppProtocolType->SchemaID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(SchemaID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[START_ELEMENT(Priority)] */ - 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, 5, &(uint32)); - appHandAppProtocolType->Priority = (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(Priority) ? */ - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - int grammarID = 7; - int done = 0; - - init_appHandAnonType_supportedAppProtocolReq(appHandAnonType_supportedAppProtocolReq); - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT(AppProtocol)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 8; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 10; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 10: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 12; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 13; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 14; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 15; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 16; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 16: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 17; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 18; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 19; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 20; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 21; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 22; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 23; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 24; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 25; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 26; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 6; - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - int grammarID = 27; - int done = 0; - - init_appHandAnonType_supportedAppProtocolRes(appHandAnonType_supportedAppProtocolRes); - - while(!done) { - switch(grammarID) { - case 27: - /* FirstStartTag[START_ELEMENT(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, 2, &uint32); - appHandAnonType_supportedAppProtocolRes->ResponseCode = (appHandresponseCodeType) 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(ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT(SchemaID), 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)); - appHandAnonType_supportedAppProtocolRes->SchemaID = (uint8_t)(uint32 + 0); - appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(SchemaID) ? */ - 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 = 6; - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq), START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes), START_ELEMENT_GENERIC] */ - init_appHandEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq) */ - errn = decode_appHandAnonType_supportedAppProtocolReq(stream, &exiDoc->supportedAppProtocolReq); - exiDoc->supportedAppProtocolReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes) */ - errn = decode_appHandAnonType_supportedAppProtocolRes(stream, &exiDoc->supportedAppProtocolRes); - exiDoc->supportedAppProtocolRes_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - return errn; -} - - -#endif - diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.h b/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.h deleted file mode 100644 index 1fd7f48..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypesDecoder.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_appHand_DATATYPES_DECODER_H -#define EXI_appHand_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include - -#include "EXITypes.h" -#include "appHandEXIDatatypes.h" - -int decode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.c b/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.c deleted file mode 100644 index dc62713..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.c +++ /dev/null @@ -1,671 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - - -#include "appHandEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "appHandEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_appHand_DATATYPES_ENCODER_C -#define EXI_appHand_DATATYPES_ENCODER_C - -static int errn; - -/* Forward Declarations */ -static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); -static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - - - /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ - 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)(appHandAppProtocolType->ProtocolNamespace.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, appHandAppProtocolType->ProtocolNamespace.characters, appHandAppProtocolType->ProtocolNamespace.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* Element[START_ELEMENT(VersionNumberMajor)] */ - 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, appHandAppProtocolType->VersionNumberMajor); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT(VersionNumberMinor)] */ - 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, appHandAppProtocolType->VersionNumberMinor); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[START_ELEMENT(SchemaID)] */ - 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)(appHandAppProtocolType->SchemaID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[START_ELEMENT(Priority)] */ - 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, 5, (uint32_t)(appHandAppProtocolType->Priority - 1)); - /* 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 = 6; - } 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:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - int grammarID = 7; - int done = 0; - - unsigned int appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT(AppProtocol)] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 8; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 10; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 10: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 11; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 12; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 12: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 13; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 14; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 15; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 16; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 16: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 17; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 18; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 20; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 21; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 21: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 22; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 23; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 24; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 25; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 26; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } 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 = 6; - } 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:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - int grammarID = 27; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 27: - /* FirstStartTag[START_ELEMENT(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, 2, appHandAnonType_supportedAppProtocolRes->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 28: - /* Element[START_ELEMENT(SchemaID), END_ELEMENT] */ - if ( appHandAnonType_supportedAppProtocolRes->SchemaID_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)(appHandAnonType_supportedAppProtocolRes->SchemaID - 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 = 6; - } 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 = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq), START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes), START_ELEMENT_GENERIC] */ - if ( exiDoc->supportedAppProtocolReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq) */ - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAnonType_supportedAppProtocolReq(stream, &exiDoc->supportedAppProtocolReq ); - } - } else if ( exiDoc->supportedAppProtocolRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes) */ - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_appHandAnonType_supportedAppProtocolRes(stream, &exiDoc->supportedAppProtocolRes ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - - -#endif - diff --git a/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.h b/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.h deleted file mode 100644 index af952ac..0000000 --- a/Port/vc2022/src/appHandshake/appHandEXIDatatypesEncoder.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_appHand_DATATYPES_ENCODER_H -#define EXI_appHand_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include "EXITypes.h" -#include "appHandEXIDatatypes.h" - - -int encode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/BitInputStream.c b/Port/vc2022/src/codec/BitInputStream.c deleted file mode 100644 index bf4ea60..0000000 --- a/Port/vc2022/src/codec/BitInputStream.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "BitInputStream.h" -#include "EXIConfig.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BIT_INPUT_STREAM_C -#define BIT_INPUT_STREAM_C - -/* internal method to (re)fill buffer */ -static int readBuffer(bitstream_t* stream) -{ - int errn = 0; - if(stream->capacity==0) - { -#if EXI_STREAM == BYTE_ARRAY - if ( (*stream->pos) < stream->size ) { - stream->buffer = stream->data[(*stream->pos)++]; - stream->capacity = BITS_IN_BYTE; - } else { - errn = EXI_ERROR_INPUT_STREAM_EOF; - } -#endif -#if EXI_STREAM == FILE_STREAM - stream->buffer = (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; - } else { - stream->capacity = BITS_IN_BYTE; - } -#endif - } - return errn; -} - -int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b) -{ - int errn = readBuffer(stream); - if (errn == 0) { - /* read the bits in one step */ - if(num_bits <= stream->capacity) { - stream->capacity = (uint8_t)(stream->capacity - num_bits); - *b = (uint32_t)((stream->buffer >> stream->capacity) & (0xff >> (BITS_IN_BYTE - num_bits))); - } else { - /* read bits as much as possible */ - *b = (uint32_t)(stream->buffer & (0xff >> (BITS_IN_BYTE - stream->capacity))); - num_bits = (num_bits - stream->capacity); - stream->capacity = 0; - - /* read whole bytes */ - while(errn == 0 && num_bits >= 8) - { - errn = readBuffer(stream); - *b = ((*b) << BITS_IN_BYTE) | stream->buffer; - num_bits = (num_bits - BITS_IN_BYTE); - stream->capacity = 0; - } - - /* read the spare bits in the buffer */ - if(errn == 0 && num_bits > 0) - { - errn = readBuffer(stream); - if (errn == 0) { - *b = ( (*b) << num_bits) | (uint8_t)(stream->buffer >> (BITS_IN_BYTE - num_bits)) ; - stream->capacity = (uint8_t)(BITS_IN_BYTE - num_bits); - } - } - } - } - - return errn; -} - -#endif diff --git a/Port/vc2022/src/codec/BitInputStream.h b/Port/vc2022/src/codec/BitInputStream.h deleted file mode 100644 index a503565..0000000 --- a/Port/vc2022/src/codec/BitInputStream.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file BitInputStream.h - * \brief Bit Input Stream - * - * Read bits and bytes from an underlying input stream. - * - */ - -#ifndef BIT_INPUT_STREAM_H -#define BIT_INPUT_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Read bits - * - * Read the next num_bits bits and returns result an integer. - * - * \param stream Input Stream - * \param num_bits Number of bits - * \param b Integer value (out) - * \return Error-Code <> 0 - * - */ -int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/BitOutputStream.c b/Port/vc2022/src/codec/BitOutputStream.c deleted file mode 100644 index f5cc1a6..0000000 --- a/Port/vc2022/src/codec/BitOutputStream.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "BitOutputStream.h" -#include "EXIConfig.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BIT_OUTPUT_STREAM_C -#define BIT_OUTPUT_STREAM_C - -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) { - /* all bits fit into the current buffer */ - stream->buffer = (uint8_t)(stream->buffer << (nbits)) | (uint8_t)(val & (uint32_t)(0xff >> (uint32_t)(BITS_IN_BYTE - nbits))); - stream->capacity = (uint8_t)(stream->capacity - nbits); - /* if the buffer is full write byte */ - if (stream->capacity == 0) { -#if EXI_STREAM == BYTE_ARRAY - if ((*stream->pos) >= stream->size) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } else { - stream->data[(*stream->pos)++] = stream->buffer; - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc(stream->buffer, stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - stream->capacity = BITS_IN_BYTE; - stream->buffer = 0; - } - } else { - /* the buffer is not enough - * fill the buffer */ - stream->buffer = (uint8_t)(stream->buffer << stream->capacity) | - ( (uint8_t)(val >> (nbits - stream->capacity)) & (uint8_t)(0xff >> (BITS_IN_BYTE - stream->capacity)) ); - - nbits = (nbits - stream->capacity); -#if EXI_STREAM == BYTE_ARRAY - if ((*stream->pos) >= stream->size) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } else { - stream->data[(*stream->pos)++] = stream->buffer; - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc(stream->buffer, stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - stream->buffer = 0; - - /* write whole bytes */ - while (errn == 0 && 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; - } else { - stream->data[(*stream->pos)++] = (uint8_t)(val >> (nbits)); - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc((int)(val >> (nbits)), stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - } - - /* spared bits are kept in the buffer */ - stream->buffer = (uint8_t)val; /* Note: the high bits will be shifted out during further filling */ - stream->capacity = (uint8_t)(BITS_IN_BYTE - (nbits)); - } - - return errn; -} - -/** - * Flush output - */ -int flush(bitstream_t* stream) { - int errn = 0; - if (stream->capacity == BITS_IN_BYTE) { - /* nothing to do, no bits in buffer */ - } else { - errn = writeBits(stream, stream->capacity, 0); - } - return errn; -} - -#endif - diff --git a/Port/vc2022/src/codec/BitOutputStream.h b/Port/vc2022/src/codec/BitOutputStream.h deleted file mode 100644 index 186d73a..0000000 --- a/Port/vc2022/src/codec/BitOutputStream.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file BitOutputStream.h - * \brief Bit Output Stream - * - * Write bits and bytes to an underlying output stream. - * - */ - -#ifndef BIT_OUTPUT_STREAM_H -#define BIT_OUTPUT_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include "EXITypes.h" - -/** - * \brief Write bits - * - * Write the n least significant bits of parameter b starting - * with the most significant, i.e. from left to right. - * - * \param stream Output Stream - * \param nbits Number of bits - * \param bits value - * \return Error-Code <> 0 - * - */ -int writeBits(bitstream_t* stream, size_t nbits, uint32_t bits); - - -/** - * \brief Flush output - * - * If there are some unwritten bits, pad them if necessary and - * write them out. Note that this method does flush the - * underlying stream. - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int flush(bitstream_t* stream); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Port/vc2022/src/codec/ByteStream.c b/Port/vc2022/src/codec/ByteStream.c deleted file mode 100644 index 13204a4..0000000 --- a/Port/vc2022/src/codec/ByteStream.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/* Avoid VS warning, put before your included header files */ -/* warning C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. */ -#define _CRT_SECURE_NO_DEPRECATE - -#include - -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BYTE_STREAM_C -#define BYTE_STREAM_C - -int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos) { - FILE* f; - int character; - int errn = 0; - - f = fopen(filename, "rb"); - - if (f == NULL) { - errn = EXI_ERROR_INPUT_FILE_HANDLE; - } else { - /* read bytes */ - while (errn == 0 && (character = getc(f)) != EOF) { - if (*pos >= size) { - errn = EXI_ERROR_OUT_OF_BYTE_BUFFER; - } else { - data[(*pos)++] = (uint8_t) character; - } - } - fclose(f); - } - - return errn; -} - -int writeBytesToFile(uint8_t* data, size_t len, const char * filename) { - size_t rlen; - FILE* f = fopen(filename, "wb+"); - - if (f == NULL) { - return -1; - } else { - rlen = fwrite(data, sizeof(uint8_t), len, f); - fflush(f); - fclose(f); - if(rlen == len) { - return 0; - } else { - return EXI_ERROR_OUTPUT_FILE; - } - } -} - - -#endif /* BYTE_STREAM_C */ - diff --git a/Port/vc2022/src/codec/ByteStream.h b/Port/vc2022/src/codec/ByteStream.h deleted file mode 100644 index c8fe9a0..0000000 --- a/Port/vc2022/src/codec/ByteStream.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file ByteStream.h - * \brief Byte Stream utilities - * - */ - -#ifndef BYTE_STREAM_H -#define BYTE_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Write bytes to file - * - * \param data byte array - * \param len length - * \param filename File name - * \return Error-Code <> 0 - * - */ -int writeBytesToFile(uint8_t* data, size_t len, const char * filename); - - -/** - * \brief Read bytes from file - * - * \param filename File name - * \param data byte array - * \param size byte array size - * \param pos byte array position - * \return Error-Code <> 0 - * - */ -int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos); - -#ifdef __cplusplus -} -#endif - -#endif /* BYTE_STREAM_H */ diff --git a/Port/vc2022/src/codec/DecoderChannel.c b/Port/vc2022/src/codec/DecoderChannel.c deleted file mode 100644 index 2f11945..0000000 --- a/Port/vc2022/src/codec/DecoderChannel.c +++ /dev/null @@ -1,1068 +0,0 @@ -/* - * Copyright (C) 2007-2022 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 2022-03-08 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "DecoderChannel.h" - -#include "EXIConfig.h" -#include "EXIOptions.h" -#include "BitInputStream.h" -#include "EXITypes.h" -#include "MethodsBag.h" -/*#include "v2gEXICoder.h"*/ -#include "ErrorCodes.h" - -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION -#include "DynamicMemory.h" -#endif /* DYNAMIC_ALLOCATION */ - -#ifndef DECODER_CHANNEL_C -#define DECODER_CHANNEL_C - -/* unsigned long == 64 bits, 10 * 7bits = 70 bits */ -#define MAX_OCTETS_FOR_UNSIGNED_INTEGER_64 10 -/* unsigned int == 32 bits, 5 * 7bits = 35 bits */ -#define MAX_OCTETS_FOR_UNSIGNED_INTEGER_32 5 - -/* buffer for reading (arbitrary) large integer values */ -static uint8_t maskedOctets[MAX_OCTETS_FOR_UNSIGNED_INTEGER_64]; - - -static int _decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv, int negative) { - int errn = 0; - int i = 0; - uint8_t b; - int k; - - do { - /* Read the next octet */ - errn = decode(stream, &b); - if (errn == 0) { - if(i < MAX_OCTETS_FOR_UNSIGNED_INTEGER_64) { - /* the 7 least significant bits hold the actual value */ - maskedOctets[i++] = (b & 127); - } else { - errn = EXI_UNSUPPORTED_INTEGER_VALUE; - } - } - } while( errn == 0 && b >= 128 ); /* no more octets ? */ - - if ( errn == 0 ) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - - switch(i) { - case 1: /* 7 bits */ - if (negative) { - iv->val.int8 = (int8_t)(-( b + 1)); - iv->type = EXI_INTEGER_8; - } else { - iv->val.uint8 = b; - iv->type = EXI_UNSIGNED_INTEGER_8; - } - break; - case 2: /* 14 bits */ - iv->val.uint16 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint16 = (uint16_t)((iv->val.uint16 << 7) | maskedOctets[k]); - } - if (negative) { - iv->val.int16 = (int16_t)( -( iv->val.uint16 + 1 )); - iv->type = EXI_INTEGER_16; - } else { - iv->type = EXI_UNSIGNED_INTEGER_16; - } - break; - case 3: /* 21 bits */ - case 4: /* 28 bits */ - iv->val.uint32 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint32 = (iv->val.uint32 << 7) | maskedOctets[k]; - } - if (negative) { - iv->val.int32 = (-(int32_t)(iv->val.uint32 + 1)); - if (iv->val.int32 <= INT16_MAX && iv->val.int32 >= INT16_MIN ) { - iv->type = EXI_INTEGER_16; - } else { - iv->type = EXI_INTEGER_32; - } - } else { - if (iv->val.uint32 <= UINT16_MAX) { - iv->type = EXI_UNSIGNED_INTEGER_16; - } else { - iv->type = EXI_UNSIGNED_INTEGER_32; - } - } - break; - case 5: /* 35 bits */ - case 6: /* 42 bits */ - case 7: /* 49 bits */ - case 8: /* 56 bits */ - case 9: /* 63 bits */ - case 10: /* 70 bits */ - iv->val.uint64 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint64 = (iv->val.uint64 << 7) | maskedOctets[k]; - } - if (negative) { - if (i > 9) { - /* too large */ - return EXI_UNSUPPORTED_INTEGER_VALUE; - } - iv->val.int64 = (-(int64_t)(iv->val.uint64 + 1)); - if (iv->val.int64 <= INT32_MAX && iv->val.int64 >= INT32_MIN ) { - iv->type = EXI_INTEGER_32; - } else { - iv->type = EXI_INTEGER_64; - } - } else { - if (iv->val.uint64 <= UINT32_MAX) { - iv->type = EXI_UNSIGNED_INTEGER_32; - /* iv->val.uint32 = iv->val.uint64;*/ - } else { - iv->type = EXI_UNSIGNED_INTEGER_64; - } - } - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE; - break; - } - } - - return errn; -} - -int decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv) { - return _decodeUnsignedInteger(stream, iv, 0); -} - -int decodeUnsignedInteger16(bitstream_t* stream, uint16_t* uint16) { - unsigned int mShift = 0; - int errn = 0; - uint8_t b = 0; - *uint16 = 0; - - do { - /* 1. Read the next octet */ - errn = decode(stream, &b); - /* 2. Multiply the value of the unsigned number represented by the 7 - * least significant - * bits of the octet by the current multiplier and add the result to - * the current value */ - *uint16 = (uint16_t)(*uint16 + ((b & 127) << mShift)); - /* 3. Multiply the multiplier by 128 */ - mShift += 7; - /* 4. If the most significant bit of the octet was 1, go back to step 1 */ - } while (errn == 0 && (b >> 7) == 1); - - return errn; -} - -int decodeUnsignedInteger32(bitstream_t* stream, uint32_t* uint32) { - /* 0XXXXXXX ... 1XXXXXXX 1XXXXXXX */ - unsigned int mShift = 0; - int errn = 0; - uint8_t b = 0; - *uint32 = 0; - - do { - /* 1. Read the next octet */ - errn = decode(stream, &b); - /* 2. Multiply the value of the unsigned number represented by the 7 - * least significant - * bits of the octet by the current multiplier and add the result to - * the current value */ - *uint32 += (uint32_t)((b & 127) << mShift); - /* 3. Multiply the multiplier by 128 */ - mShift += 7; - /* 4. If the most significant bit of the octet was 1, go back to step 1 */ - } while (errn == 0 && (b >> 7) == 1); - - 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 - * indicate sequence termination. Only seven bits per octet are used to - * store the integer's value. - */ -int decodeUnsignedInteger64(bitstream_t* stream, uint64_t* uint64) { - unsigned int mShift = 0; - int errn = 0; - uint8_t b; - *uint64 = 0L; - - do { - errn = decode(stream, &b); - *uint64 += ((uint64_t) (b & 127)) << mShift; - mShift += 7; - } while (errn == 0 && (b >> 7) == 1); - - return errn; -} - - -void _reverseArray(uint8_t *array, int number) { - int x, t; - number--; - - for(x = 0; x < number; x ++, number --) { - t = array[x]; - array[x] = array[number]; - array[number] = t; - } -} - -/** - * 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. - */ -int decodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t* len) { - int errn = 0; - uint8_t b = 0; - unsigned int mShift1 = 0; - unsigned int mShift2 = 0; - unsigned int mShift3 = 0; - unsigned int mShift4 = 0; - unsigned int nBytesRead = 0; - unsigned int nBitsAvailable = 0; - uint64_t uint64_1 = 0; - uint64_t uint64_2 = 0; - uint64_t uint64_3 = 0; - uint64_t uint64_4 = 0; - - *len = 0; - - do { - errn = decode(stream, &b); - nBytesRead++; - nBitsAvailable += 7; - - if(nBytesRead <= 8) { - uint64_1 += ((uint64_t) (b & 127)) << mShift1; - mShift1 += 7; - } else if(nBytesRead <= 16) { - uint64_2 += ((uint64_t) (b & 127)) << mShift2; - mShift2 += 7; - } else if(nBytesRead <= 24) { - uint64_3 += ((uint64_t) (b & 127)) << mShift3; - mShift3 += 7; - } else if(nBytesRead <= 32) { - uint64_4 += ((uint64_t) (b & 127)) << mShift4; - mShift4 += 7; - } else { - return -1; /* too large */ - } - } while (errn == 0 && (b >> 7) == 1); - - /* shift actual data into array */ - if(uint64_4 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - - /* 7 octets for uint64_2 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 1 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 2 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 3 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 4 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 5 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 6 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 7 */ - - /* 7 octets for uint64_3 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 1 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 2 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 3 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 4 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 5 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 6 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 7 */ - - /* remaining octets of uint64_4 */ - while (uint64_4 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_4 & 0xFF; - uint64_4 >>= 8; - } - } else if(uint64_3 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - - /* 7 octets for uint64_2 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 1 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 2 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 3 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 4 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 5 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 6 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 7 */ - - /* remaining octets of uint64_3 */ - while (uint64_3 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_3 & 0xFF; - uint64_3 >>= 8; - } - - } else if(uint64_2 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - /* remaining octets of uint64_2 */ - while (uint64_2 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_2 & 0xFF; - uint64_2 >>= 8; - } - } else if(uint64_1 != 0) { - while (uint64_1 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_1 & 0xFF; - uint64_1 >>= 8; - } - } - - _reverseArray(data, *len); - - return errn; -} - -int decodeInteger(bitstream_t* stream, exi_integer_t* iv) { - int b; - int errn = decodeBoolean(stream, &b); - if (errn == 0) { - errn = _decodeUnsignedInteger(stream, iv, b); - } - - return errn; -} - - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger16(bitstream_t* stream, int16_t* int16) { - int b; - uint16_t uint16; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(-(uint16 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(uint16); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger32(bitstream_t* stream, int32_t* int32) { - int b; - uint32_t uint32; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger32(stream, &uint32); - *int32 = (-(int32_t)(uint32 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger32(stream, &uint32); - *int32 = (int32_t)(uint32); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger64(bitstream_t* stream, int64_t* int64) { - int b; - uint64_t uint64; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger64(stream, &uint64); - *int64 = (-(int64_t)(uint64 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger64(stream, &uint64); - *int64 = (int64_t)(uint64); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeIntegerBig(bitstream_t* stream, int* negative, size_t size, uint8_t* data, size_t* len) { - int errn = decodeBoolean(stream, negative); - - if (errn == 0) { - if (*negative) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - } else { - /* positive */ - } - errn = decodeUnsignedIntegerBig(stream, size, data, len); - } - - return errn; -} - -/** - * Decode a Float datatype as two consecutive Integers. - * The first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - */ -int decodeFloat(bitstream_t* stream, exi_float_me_t* f) { - int errn = decodeInteger64(stream, &f->mantissa); - if (errn == 0) { - errn = decodeInteger16(stream, &f->exponent); - } - return errn; -} - -/** - * Decode a decimal represented as a Boolean sign followed by two Unsigned - * Integers. A sign value of zero (0) is used to represent positive Decimal - * values and a sign value of one (1) is used to represent negative Decimal - * values The first Integer represents the integral portion of the Decimal - * value. The second positive integer represents the fractional portion of - * the decimal with the digits in reverse order to preserve leading zeros. - */ -int decodeDecimal(bitstream_t* stream, exi_decimal_t* d) { - int errn = decodeBoolean(stream, &d->negative); - if (errn == 0) { - errn = decodeUnsignedInteger(stream, &d->integral); - if (errn == 0) { - errn = decodeUnsignedInteger(stream, &d->reverseFraction); - } - } - - return errn; -} - -/** - * Decode a sequence of characters for a given length. - */ -int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s) { - int errn = 0; - unsigned int extraChar = 0; -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - extraChar = 1; /* null terminator */ -#endif /* STRING_REPRESENTATION_ASCII */ - - if ( (len + extraChar) > s->size) { -#if MEMORY_ALLOCATION == STATIC_ALLOCATION - errn = EXI_ERROR_OUT_OF_STRING_BUFFER; -#endif /* STATIC_ALLOCATION */ -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION - if(s->size > 0) { - errn = exiFreeDynamicStringMemory(s); - if(errn) { - return errn; - } - } - errn = exiAllocateDynamicStringMemory(s, (len + extraChar)); /*s->len*/ -#endif /* DYNAMIC_ALLOCATION */ - } - if(errn == 0) { - errn = decodeCharacters(stream, len, s->characters, s->size); - s->len = len; - } - - return errn; -} - -/** - * Decode a length prefixed sequence of characters. - */ -int decodeString(bitstream_t* stream, exi_string_t* s) { - int errn = decodeUnsignedIntegerSizeT(stream, &s->len); - if (errn == 0) { - errn = decodeStringOnly(stream, s->len, s); - } - 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, size_t len, exi_string_character_t* chars, size_t charsSize) { - unsigned int i; - 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; - for (i = 0; i < len && errn == 0; i++) { - errn = decode(stream, &b); - if(b < 128) { - chars[i] = (exi_string_character_t)b; - } else { - errn = EXI_ERROR_STRINGVALUES_CHARACTER; - } - } - /* null terminator \0 */ - chars[i] = '\0'; - -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - for (i = 0; i < len && errn == 0; i++) { - errn = decodeUnsignedInteger32(stream, &chars[i]); - } -#endif /* STRING_REPRESENTATION_UCS */ - - - - - return errn; -} - -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; - 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++) { - errn = decodeNBitUnsignedInteger(stream, rcsCodeLength, &uint32); - if(errn == 0) { - if ( uint32 == rcsSize ) { - /* RCS deviation */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - errn = decode(stream, &b); - if(b < 128) { - chars[i] = (exi_string_character_t)b; - } else { - errn = EXI_ERROR_STRINGVALUES_CHARACTER; - } -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - errn = decodeUnsignedInteger32(stream, &chars[i]); -#endif /* STRING_REPRESENTATION_UCS */ - - } else { - /* RCS match */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - chars[i] = rcsSet[uint32]; -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - chars[i] = rcsSet[uint32]; -#endif /* STRING_REPRESENTATION_UCS */ - } - } - } - - return errn; -} - - -/** - * Decode a binary value as a length-prefixed sequence of octets. - */ -int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes) { - int errn = decodeUnsignedIntegerSizeT(stream, &bytes->len); - if (errn == 0) { - if (bytes->len > bytes->size) { -#if MEMORY_ALLOCATION == STATIC_ALLOCATION - errn = EXI_ERROR_OUT_OF_BYTE_BUFFER; -#endif /* STATIC_ALLOCATION */ -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION - errn = exiFreeDynamicBinaryMemory(bytes); - if(errn == 0) { - errn = exiAllocateDynamicBinaryMemory(bytes, bytes->len); - } -#endif /* DYNAMIC_ALLOCATION */ - } - - errn = decodeBytes(stream, bytes->len, bytes->data); - } - - return errn; -} - - -int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data) { - unsigned int i; - int errn = 0; - uint8_t b = 0; - - for (i = 0; i < len && errn == 0; i++) { - errn = decode(stream, &b); - data[i] = (uint8_t)b; - } - - return errn; -} - -/** - * Decode Date-Time as sequence of values representing the individual - * components of the Date-Time. - */ -int decodeDateTime(bitstream_t* stream, exi_datetime_type_t type, exi_datetime_t* datetime) { - int errn = 0; - - datetime->type = type; - - datetime->year = 0; - datetime->monthDay = 0; - datetime->time = 0; - datetime->presenceFractionalSecs = 0; - datetime->fractionalSecs = 0; - datetime->presenceTimezone = 0; - datetime->timezone = 0; - - switch (type) { - case EXI_DATETIME_GYEAR: /* Year, [Time-Zone] */ - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - } - break; - case EXI_DATETIME_GYEARMONTH: /* Year, MonthDay, [TimeZone] */ - case EXI_DATETIME_DATE: - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay); - } - break; - case EXI_DATETIME_DATETIME: /* Year, MonthDay, Time, [FractionalSecs], [TimeZone] */ - /* e.g. "0001-01-01T00:00:00.111+00:33" */ - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay); - if (errn != 0) { - break; - } - } - /* no break */ - case EXI_DATETIME_TIME: /* Time, [FractionalSecs], [TimeZone] */ - /* e.g. "12:34:56.135" */ - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIME, &datetime->time); - if (errn == 0) { - errn = decodeBoolean(stream, &datetime->presenceFractionalSecs); - if (errn == 0) { - if (datetime->presenceFractionalSecs) { - errn = decodeUnsignedInteger32(stream, &datetime->fractionalSecs); - } - } - } - break; - case EXI_DATETIME_GMONTH: /* MonthDay, [TimeZone] */ - /* e.g. "--12" */ - case EXI_DATETIME_GMONTHDAY: /* MonthDay, [TimeZone] */ - /* e.g. "--01-28" */ - case EXI_DATETIME_GDAY: /* MonthDay, [TimeZone] */ - /* "---16" */ - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay ); - break; - default: - errn = EXI_UNSUPPORTED_DATETIME_TYPE; - break; - } - - if(errn == 0) { - errn = decodeBoolean(stream, &datetime->presenceTimezone ); - if (errn == 0 && datetime->presenceTimezone) { - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIMEZONE, &datetime->timezone); - datetime->timezone -= DATETIME_TIMEZONE_OFFSET_IN_MINUTES; - } - } - - 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/Port/vc2022/src/codec/DecoderChannel.h b/Port/vc2022/src/codec/DecoderChannel.h deleted file mode 100644 index 5b43412..0000000 --- a/Port/vc2022/src/codec/DecoderChannel.h +++ /dev/null @@ -1,441 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file DecoderChannel.h - * \brief EXI Decoder Channel - * - */ - -#ifndef DECODER_CHANNEL_H -#define DECODER_CHANNEL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXIOptions.h" -#include "EXITypes.h" - -/** - * \brief Decode byte value - * - * \param stream Input Stream - * \param b byte (out) - * \return Error-Code <> 0 - * - */ -int decode(bitstream_t* stream, uint8_t* b); - - -/** - * \brief Decode boolean - * - * Decode a single boolean value. The value false is - * represented by 0, and the value true is represented by 1. - * - * \param stream Input Stream - * \param b boolean (out) - * \return Error-Code <> 0 - * - */ -int decodeBoolean(bitstream_t* stream, int* b); - - -/** - * \brief Decode n-bit unsigned integer - * - * Decodes and returns an n-bit unsigned integer. - * - * \param stream Input Stream - * \param nbits Number of bits - * \param uint32 Value (out) - * \return Error-Code <> 0 - * - */ -int decodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, 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 iv Unsigned Integer Value (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \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 uint16 Unsigned Integer Value 16 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger16(bitstream_t* stream, uint16_t* uint16); - - -/** - * \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 uint32 Unsigned Integer Value 32 bits (out) - * \return Error-Code <> 0 - * - */ -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 - * - * 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 uint64 Unsigned Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger64(bitstream_t* stream, uint64_t* uint64); - -/** - * \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 size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int decodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t* len); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 iv Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int16 Integer Value 16 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger16(bitstream_t* stream, int16_t* int16); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int32 Integer Value 32 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger32(bitstream_t* stream, int32_t* int32); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int64 Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger64(bitstream_t* stream, int64_t* int64); - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 negative negative integer - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int decodeIntegerBig(bitstream_t* stream, int* negative, size_t size, uint8_t* data, size_t* len); - -/** - * \brief Decode float - * - * Decode a Float datatype as two consecutive Integers. The - * first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - * - * \param stream Input Stream - * \param f Float Value (out) - * \return Error-Code <> 0 - * - */ -int decodeFloat(bitstream_t* stream, exi_float_me_t* f); - - -/** - * \brief Decode decimal - * - * Decode a decimal represented as a Boolean sign followed by two - * Unsigned Integers. A sign value of zero (0) is used to represent - * positive Decimal values and a sign value of one (1) is used to - * represent negative Decimal values The first Integer represents - * the integral portion of the Decimal value. The second positive - * integer represents the fractional portion of the decimal with - * the digits in reverse order to preserve leading zeros. - * - * \param stream Input Stream - * \param d Decimal Value (out) - * \return Error-Code <> 0 - * - */ -int decodeDecimal(bitstream_t* stream, exi_decimal_t* d); - - -/** - * \brief Decode String (no length prefix) - * - * Decode a sequence of characters for a given length. - * - * \param stream Input Stream - * \param len Characters length - * \param s String Value (out) - * \return Error-Code <> 0 - * - */ -int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s); - - -/** - * \brief Decode String - * - * Decode a length prefixed sequence of characters. - * - * \param stream Input Stream - * \param s String Value (out) - * \return Error-Code <> 0 - * - */ -int decodeString(bitstream_t* stream, exi_string_t* s); - - - -/** - * \brief Decode String value - * - * Decode a length prefixed sequence of characters in the sense of string tables. - * length == 0: local value partition hit. - * length == 1: global value partition hit. - * length > 1: string literal is encoded as a String with the length incremented by two - * - * \param stream Input Stream - * \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_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 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_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* s); - - -/** - * \brief Decode characters - * - * Decode a sequence of characters according to a given length. - * - * \param stream Input Stream - * \param len Length - * \param chars Characters (out) - * \param charsSize Size of possible characters - * \return Error-Code <> 0 - * - */ -int decodeCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize); - - -/** - * \brief Decode restricted character set characters - * - * Decode a sequence of characters according to a given length and rcs code-length, size and set. - * - * \param stream Input Stream - * \param len Length - * \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, size_t len, exi_string_character_t* chars, size_t charsSize, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]); - - - -/** - * \brief Decode Binary - * - * Decode a binary value as a length-prefixed sequence of octets. - * - * \param stream Input Stream - * \param bytes Bytes (out) - * \return Error-Code <> 0 - * - */ -int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes); - -/** - * \brief Decode Binary data - * - * Decode a sequence of octets. - * - * \param stream Input Stream - * \param len Length - * \param data Bytes (out) - * \return Error-Code <> 0 - * - */ -int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data); - -/** - * \brief Decode DateTime - * - * Decode Date-Time as sequence of values representing the - * individual components of the Date-Time. - * - * \param stream Input Stream - * \param type Datetime type - * \param datetime Datetime (out) - * \return Error-Code <> 0 - * - */ -int decodeDateTime(bitstream_t* stream, exi_datetime_type_t type, exi_datetime_t* datetime); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/EXIConfig.h b/Port/vc2022/src/codec/EXIConfig.h deleted file mode 100644 index edbb2dc..0000000 --- a/Port/vc2022/src/codec/EXIConfig.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-23 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIConfig.h - * \brief EXI Configurations for the EXI Codec - * - */ - -#ifndef EXI_CONFIG_H -#define EXI_CONFIG_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/** EXI stream - Option Byte Array */ -#define BYTE_ARRAY 1 -/** EXI stream - Option File */ -#define FILE_STREAM 2 -/** \brief EXI stream - * - * Byte array or file - * */ -#define EXI_STREAM BYTE_ARRAY - - - - - -/** Memory allocation - static */ -#define STATIC_ALLOCATION 1 -/** Memory allocation - dynamic */ -#define DYNAMIC_ALLOCATION 2 -/** */ -/** \brief Memory allocation mode - * - * static or dynamic memory allocation - * */ -#define MEMORY_ALLOCATION STATIC_ALLOCATION - - - -/** String representation ASCII */ -#define STRING_REPRESENTATION_ASCII 1 -/** String representation Universal Character Set (UCS) */ -#define STRING_REPRESENTATION_UCS 2 -/** */ -/** \brief String representation mode - * - * ASCII or UCS - * */ -#define STRING_REPRESENTATION STRING_REPRESENTATION_UCS - - -/* in the case of ASCII an extra char (null terminator) for printf and other functions is useful */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII -#define EXTRA_CHAR 1 -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS -#define EXTRA_CHAR 0 -#endif /* STRING_REPRESENTATION_UCS */ - - - - - -/** Maximum number of cascading elements, XML tree depth */ -#define EXI_ELEMENT_STACK_SIZE 24 - - -#ifdef __cplusplus -} -#endif - -#endif /* EXI_CONFIG_H */ - diff --git a/Port/vc2022/src/codec/EXIHeaderDecoder.c b/Port/vc2022/src/codec/EXIHeaderDecoder.c deleted file mode 100644 index 5d48cb9..0000000 --- a/Port/vc2022/src/codec/EXIHeaderDecoder.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EXIHeaderDecoder.h" -#include "BitInputStream.h" -#include "DecoderChannel.h" -#include "ErrorCodes.h" - -#ifndef EXI_HEADER_DECODER_C -#define EXI_HEADER_DECODER_C - -int readEXIHeader(bitstream_t* stream) { - int errn; - uint32_t header = 0; - - /* init stream */ - stream->buffer = 0; - stream->capacity = 0; - - errn = readBits(stream, 8, &header); - if (errn == 0) { - if(header == '$') { - /* we do not support "EXI Cookie" */ - errn = EXI_UNSUPPORTED_HEADER_COOKIE; - } else if ( header & 0x20 ) { - /* we do not support "Presence Bit for EXI Options" */ - errn = EXI_UNSUPPORTED_HEADER_OPTIONS; - } else { - /* Yes, a *simple* header */ - errn = 0; - } - } - - return errn; -} - - -#endif - - diff --git a/Port/vc2022/src/codec/EXIHeaderDecoder.h b/Port/vc2022/src/codec/EXIHeaderDecoder.h deleted file mode 100644 index 37136d0..0000000 --- a/Port/vc2022/src/codec/EXIHeaderDecoder.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIHeaderDecoder.h - * \brief EXI Header Decoder - * - */ - -#ifndef EXI_HEADER_DECODER_H -#define EXI_HEADER_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Reads EXI header - * - * \param stream Input Stream - * \return Error-Code <> 0 - * - */ -int readEXIHeader(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/EXIHeaderEncoder.c b/Port/vc2022/src/codec/EXIHeaderEncoder.c deleted file mode 100644 index 36c7851..0000000 --- a/Port/vc2022/src/codec/EXIHeaderEncoder.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EXIHeaderEncoder.h" -#include "BitOutputStream.h" -#include "EncoderChannel.h" - -#ifndef EXI_HEADER_ENCODER_C -#define EXI_HEADER_ENCODER_C - -int writeEXIHeader(bitstream_t* stream) { - /* init stream */ - stream->buffer = 0; - stream->capacity = 8; - - return writeBits(stream, 8, 128); -} - - -#endif - - diff --git a/Port/vc2022/src/codec/EXIHeaderEncoder.h b/Port/vc2022/src/codec/EXIHeaderEncoder.h deleted file mode 100644 index e7cf0d3..0000000 --- a/Port/vc2022/src/codec/EXIHeaderEncoder.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIHeaderEncoder.h - * \brief EXI Header Encoder - * - */ - -#ifndef EXI_HEADER_ENCODER_H -#define EXI_HEADER_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - - -/** - * \brief Writes EXI header - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int writeEXIHeader(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/EXIOptions.h b/Port/vc2022/src/codec/EXIOptions.h deleted file mode 100644 index 9156746..0000000 --- a/Port/vc2022/src/codec/EXIOptions.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \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/Port/vc2022/src/codec/EXITypes.h b/Port/vc2022/src/codec/EXITypes.h deleted file mode 100644 index 9b2bdf8..0000000 --- a/Port/vc2022/src/codec/EXITypes.h +++ /dev/null @@ -1,591 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXITypes.h - * \brief Basic type definitions and structs - * - */ - -#ifndef EXI_TYPES_H -#define EXI_TYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include "EXIConfig.h" -#if EXI_STREAM == FILE_STREAM -#include -#endif - - -/** Number of bits for each byte */ -#define BITS_IN_BYTE 8 - -/** EXI Date-Time offset for year */ -#define DATETIME_YEAR_OFFSET 2000 -/** EXI Date-Time number of bits for monthDay */ -#define DATETIME_NUMBER_BITS_MONTHDAY 9 -/** EXI Date-Time number of bits for time */ -#define DATETIME_NUMBER_BITS_TIME 17 -/** EXI Date-Time number of bits for timezone */ -#define DATETIME_NUMBER_BITS_TIMEZONE 11 -/** EXI Date-Time month multiplicator */ -#define DATETIME_MONTH_MULTIPLICATOR 32 -/** EXI Date-Time offset for timzone minutes */ -#define DATETIME_TIMEZONE_OFFSET_IN_MINUTES 896 - -/** Maximum integer value for uint */ -#define UINT_MAX_VALUE 65535 - - -/** EXI Float exponent special values */ -#define FLOAT_EXPONENT_SPECIAL_VALUES -16384 -/** EXI Float mantissa infinity */ -#define FLOAT_MANTISSA_INFINITY 1 -/** EXI Float minus mantissa infinity */ -#define FLOAT_MANTISSA_MINUS_INFINITY -1 -/** EXI Float not a number */ -#define FLOAT_MANTISSA_NOT_A_NUMBER 0 - -/** \brief EXI Events */ -typedef enum { - /** Start Document SD */ - EXI_EVENT_START_DOCUMENT, - /** End Document ED */ - EXI_EVENT_END_DOCUMENT, - /** Start Element SE(qname) */ - EXI_EVENT_START_ELEMENT, - /** Start Element SE(uri:*) */ - EXI_EVENT_START_ELEMENT_NS, - /** Start Element SE(*) generic */ - EXI_EVENT_START_ELEMENT_GENERIC, - /** Start Element SE(*) generic undeclared */ - EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED, - /** End Element EE */ - EXI_EVENT_END_ELEMENT, - /** End Element EE undeclared*/ - EXI_EVENT_END_ELEMENT_UNDECLARED, - /** Characters CH */ - EXI_EVENT_CHARACTERS, - /** Characters CH generic */ - EXI_EVENT_CHARACTERS_GENERIC, - /** Characters CH generic undeclared */ - EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED, - /** Attribute AT(xsi:type) */ - EXI_EVENT_ATTRIBUTE_XSI_TYPE, - /** Attribute AT(xsi:nil) */ - EXI_EVENT_ATTRIBUTE_XSI_NIL, - /** Attribute AT(qname) */ - EXI_EVENT_ATTRIBUTE, - /** Attribute AT(uri:*) */ - EXI_EVENT_ATTRIBUTE_NS, - /** Attribute AT(*) generic */ - EXI_EVENT_ATTRIBUTE_GENERIC, - /** Attribute AT(*) invalid value */ - EXI_EVENT_ATTRIBUTE_INVALID_VALUE, - /** Attribute AT(*) any invalid value */ - EXI_EVENT_ATTRIBUTE_ANY_INVALID_VALUE, - /** Attribute AT(*) generic undeclared */ - EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED, - /* error state */ - EXI_EVENT_ERROR -} exi_event_t; - - -/** - * \brief Bit stream container - * - * Structure for byteArray/file stream. - * - * # General - * .size defines the maximum size of the byte array (see .data) - * - * .data points to the input/output array of bytes (unsigned char*). - * - * .pos has to be set to an pointer to an 32 bit long unsigned integer (uint32_t *) - * as this variable is read/write. - * Therefore it is best practice to declare the variable itself and use the &-operator - * to assign the address. The value of that variable points to the position inside the - * buffer where the stream begins. Which is usually the first (0th) byte but can also be - * another value if there more information transferred in that stream. - * After processing .pos points to the next "available" byte (if any left). - * - * .buffer has to be set to 0 for internal use only (single byte buffer) - * - * # Receiving data (input) - * .capacity is used for addressing single bits in the actual byte (see .buffer) - * and has to be set to 0, which means there are 0 bits read so far and a new - * byte needs to be read from the input stream/data-array to the current byte buffer. - * - * # Sending data (output) - * .capacity is used for addressing single bits in the actual byte (see .buffer) - * and has to be set to 8, which means there are still 8 bits left to fill up - * the current byte buffer before writing the final byte to the output stream/data-array. - * - */ -typedef struct { -#if EXI_STREAM == BYTE_ARRAY - /** byte array size */ - size_t size; - /** byte array data */ - uint8_t* data; - /** byte array next position in array */ - size_t* pos; -#endif -#if EXI_STREAM == FILE_STREAM - /** file pointer */ - FILE *file; -#endif - /** Current byte buffer*/ - uint8_t buffer; - /** Remaining bit capacity in current byte buffer*/ - uint8_t capacity; -} bitstream_t; - - -/** \brief EXI Value Datatypes */ -typedef enum { - /** Binary Base64 */ - EXI_DATATYPE_BINARY_BASE64, - /** Binary Hex */ - EXI_DATATYPE_BINARY_HEX, - /** Boolean */ - EXI_DATATYPE_BOOLEAN, - /** Boolean with Facets */ - EXI_DATATYPE_BOOLEAN_FACET, - /** Decimal */ - EXI_DATATYPE_DECIMAL, - /** Float & Double */ - EXI_DATATYPE_FLOAT, - /** N-Bit Unsigned Integer */ - EXI_DATATYPE_NBIT_UNSIGNED_INTEGER, - /** Unsigned Integer */ - EXI_DATATYPE_UNSIGNED_INTEGER, - /** (Signed) Integer */ - EXI_DATATYPE_INTEGER, - /** Datetime */ - EXI_DATATYPE_DATETIME, - /** String */ - EXI_DATATYPE_STRING, - /** Restricted Character Set String */ - EXI_DATATYPE_RCS_STRING, - /** Enumeration */ - EXI_DATATYPE_ENUMERATION, - /** List */ - EXI_DATATYPE_LIST, - /** QName (e.g. xsi:type) */ - EXI_DATATYPE_QNAME -} exi_datatype_t; - - -/** \brief EXI Integer Value types */ -typedef enum { - /** Unsigned Integer 8 bits */ - EXI_UNSIGNED_INTEGER_8, - /** Unsigned Integer 16 bits */ - EXI_UNSIGNED_INTEGER_16, - /** Unsigned Integer 32 bits */ - EXI_UNSIGNED_INTEGER_32, - /** Unsigned Integer 64 bits */ - EXI_UNSIGNED_INTEGER_64, - /** (Signed) Integer 8 bits */ - EXI_INTEGER_8, - /** (Signed) Integer 16 bits */ - EXI_INTEGER_16, - /** (Signed) Integer 32 bits */ - EXI_INTEGER_32, - /** (Signed) Integer 64 bits */ - EXI_INTEGER_64 -} exi_integer_type_t; - - -/** \brief EXI Datetime types */ -typedef enum { - /** gYear */ - EXI_DATETIME_GYEAR, - /** gYearMonth */ - EXI_DATETIME_GYEARMONTH, - /** date */ - EXI_DATETIME_DATE, - /** datetime */ - EXI_DATETIME_DATETIME, - /** gMonth */ - EXI_DATETIME_GMONTH, - /** gMonthDay */ - EXI_DATETIME_GMONTHDAY, - /** gDay */ - EXI_DATETIME_GDAY, - /** time */ - EXI_DATETIME_TIME -} exi_datetime_type_t; - - -/** \brief String value type */ -typedef enum { - /** value miss */ - EXI_STRING_VALUE_MISS, - /** value local-hit */ - EXI_STRING_VALUE_LOCAL_HIT, - /** value global-hit */ - EXI_STRING_VALUE_GLOBAL_HIT -} exi_string_value_type_t; - -/** \brief EXI string character */ -/* Note: define whether you wan't to support ASCII only or UCS */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII -typedef char exi_string_character_t; -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS -typedef uint32_t exi_string_character_t; -#endif /* STRING_REPRESENTATION_UCS */ - - - -/** \brief Universal Character Set (UCS) strings */ -typedef struct { - /** container size */ - size_t size; - /** string character container */ - exi_string_character_t* characters; - /** current string length == number of code-points, (len <= size) */ - size_t len; -} exi_string_t; - - -/** \brief String value */ -typedef struct { - /** value type (e.g., miss, local-hit, global-hit) */ - exi_string_value_type_t type; - /** miss entry */ - exi_string_t miss; - /** (local) hit entry */ - size_t localID; - /** (global) hit entry */ - size_t globalID; -} exi_string_value_t; - - -/** \brief Restricted Characeter Set */ -typedef struct { - /** size */ - size_t size; - /** rcs codepoints */ - exi_string_character_t* characters; - /** character coding length (less than 256 characters) */ - uint8_t codingLength; -} exi_rcs_t; - - -/** \brief Byte value container */ -typedef struct { - /** bytes array size */ - size_t size; - /** bytes array data container */ - uint8_t* data; - /** bytes array length (len <= size) */ - size_t len; -} exi_bytes_t; - - -/** \brief Integer value container */ -typedef struct { - /** type */ - exi_integer_type_t type; - union { - /* (signed) values */ - /** (signed) int 8 bits */ - int8_t int8; - /** (signed) int 16 bits */ - int16_t int16; - /** (signed) int 32 bits */ - int32_t int32; - /** (signed) int 64 bits */ - int64_t int64; - /* unsigned values */ - /** unsigned int 8 bits */ - uint8_t uint8; - /** unsigned int 16 bits */ - uint16_t uint16; - /** unsigned int 32 bits */ - uint32_t uint32; - /** unsigned int 64 bits */ - uint64_t uint64; - } val; -} exi_integer_t; - - -/** \brief Float value container */ -typedef struct { - /** range of the mantissa is -(2^63) to 2^63-1 */ - int64_t mantissa; - /** range of the exponent is - (2^14-1) to 2^14-1 */ - int16_t exponent; /* base-10 */ -} exi_float_me_t; - - -/** \brief Decimal value container */ -typedef struct { - /** a sign value */ - int negative; - /** represents the integral portion of the Decimal */ - exi_integer_t integral; - /** represents the fractional portion of the Decimal with the digits in reverse order to preserve leading zeros */ - exi_integer_t reverseFraction; -} exi_decimal_t; - - -/** \brief Datetime value container */ -typedef struct { - /** datetime type */ - exi_datetime_type_t type; - /** Datetime value for year */ - int32_t year; - /** Datetime value for monthDay */ - uint32_t monthDay; - /** Datetime value for time */ - uint32_t time; - /** Datetime value for presenceFractionalSecs */ - int presenceFractionalSecs; - /** Datetime value for fractionalSecs */ - uint32_t fractionalSecs; - /** Datetime value for presenceTimezone */ - int presenceTimezone; - /** Datetime value for timezone */ - uint32_t timezone; -} exi_datetime_t; - - -/** \brief List value container */ -typedef struct { - /** list item type */ - exi_datatype_t type; - /** number of items */ - size_t len; - /* Special datatype: integer */ - /* exi_integer_type_t intType;*/ - /** Special datatype: datetime */ - exi_datetime_type_t datetimeType; -} exi_list_t; - - -/** \brief Efficient qname */ -typedef struct { - /** namespace URI ID*/ - size_t namespaceURI; - /** local name ID*/ - size_t localPart; -} exi_eqname_t; - - -/** \brief Name entry type */ -typedef enum { - /** As known IDs */ - EXI_NAME_ENTRY_TYPE_ID, - /** As String */ - EXI_NAME_ENTRY_TYPE_STRING_AND_ID -} exi_name_entry_type_t; - - -/** \brief Name entry */ -typedef struct { - /** type */ - exi_name_entry_type_t type; - /** entry ID */ - size_t id; - /** entry string */ - exi_string_t str; -} exi_name_entry_t; - - -/** \brief Qualified name */ -typedef struct { - /** Uri */ - exi_name_entry_t uri; - /** LocalName */ - exi_name_entry_t localName; -} exi_qname_t; - -/*TODO Doxygen Documentation */ - - -/* ==================================== */ -/* URI and LocalName Entries */ -typedef struct exiNameTablePrepopulated { - /* number of namespaces AND length name-partitions array */ - size_t len; - /* number of localName entries divided by URI */ - size_t* localNames; -} exi_name_table_prepopulated_t; - -#define EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES 25 - -typedef enum { - EXI_NAME_PARTITION_URI, EXI_NAME_PARTITION_LOCALNAME -} exi_name_partition_type_t; - -typedef struct { - char* uri; - size_t uriID; -} exi_uri_partition_t; - -typedef struct { - char* localName; - size_t localNameID; - size_t uriID; -} exi_localname_partition_t; - -typedef struct { - exi_name_partition_type_t namePartitionType; - struct { - exi_uri_partition_t uriPartition; - exi_localname_partition_t localNamePartition; - } entry; -} exi_name_partition_t; - -typedef struct exiNameTableRuntime { - /* maximum number of characters in the name partitions entries PLUS null terminators */ - /* char characters[EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_CHARACTERS + EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES]; */ - /* uint16_t numberOfUsedCharacters; *//* initially zero <= EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_CHARACTERS */ - /* maximum number of name partitions entries. Name partitions entries consist in all uri, and local-name partition entries */ - exi_name_partition_t - namePartitionsEntries[EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES]; - /* uint16_t numberOfUsedNamePartitions; *//* initially zero */ - /* added entries */ - 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 { - size_t namespaceUriID; - size_t localNameID; - size_t numberOfProductions; - int hasXsiType; /* StartTagContent only */ - int hasEE; /* ElementContentper default TRUE */ -} exi_runtime_element_t; - -/* Note: We do have twice as many runtime grammars (StartTagContent and ElementContent)*/ -#define MAX_NUMBER_OF_RUNTIME_ELEMENTS 80 - - - -/* ==================================== */ -/* Value string table */ -typedef struct exiValueStringTableEntry { - /** Qualified namespace URI */ - size_t namespaceUriID; - /** Qualified localName */ - size_t localNameID; - /** Local Value ID */ - 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 */ - size_t size; - /** string table entry array container */ - exi_value_string_table_entry_t* strs; - /** current number of string table entries (len <= size) */ - size_t len; -} exi_value_string_table_t; - -/* typedef struct { */ - /** number of global strings */ - /* uint16_t numberOfGlobalStrings; */ - /** size of local-names container */ - /* uint16_t sizeLocalStrings; */ - /** number of local strings container */ - /* uint16_t* numberOfLocalStrings; */ - /** string values */ -/* 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 */ - exi_eqname_t elementStack[EXI_ELEMENT_STACK_SIZE]; - /** stack index for both stacks */ - size_t stackIndex; - - /** event-code */ - uint32_t eventCode; - - /** name table entries, pre-populated */ - exi_name_table_prepopulated_t* nameTablePrepopulated; - /** name table entries, at runtime */ - exi_name_table_runtime_t* nameTableRuntime; - - /** next qname ID */ - size_t nextQNameID; - - /** string table entries */ - exi_value_string_table_t* stringTable; - - /** runtime built-in element grammars - numbers */ - size_t numberOfRuntimeGrammars; - /** runtime built-in element grammars */ - exi_runtime_element_t runtimeGrammars[MAX_NUMBER_OF_RUNTIME_ELEMENTS * 2]; -} exi_state_t; - -typedef struct { - /* type of value */ - exi_datatype_t type; - - /* base types */ - int boolean; - uint32_t enumeration; - - /* complex types: Integers, Bytes, Strings and Lists are not native types anymore */ - exi_integer_t integer; - exi_bytes_t binary; - exi_string_value_t str; - exi_float_me_t float_me; - exi_decimal_t decimal; - exi_datetime_t datetime; - exi_list_t list; - exi_eqname_t eqname; -} exi_value_t; - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/EncoderChannel.c b/Port/vc2022/src/codec/EncoderChannel.c deleted file mode 100644 index e7be9b6..0000000 --- a/Port/vc2022/src/codec/EncoderChannel.c +++ /dev/null @@ -1,704 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EncoderChannel.h" -#include "EXIOptions.h" -#include "BitOutputStream.h" -#include "EXITypes.h" -#include "ErrorCodes.h" -#include "MethodsBag.h" -/*#include "v2gEXICoder.h"*/ - -#ifndef ENCODER_CHANNEL_C -#define ENCODER_CHANNEL_C - -int encodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv) { - int errn = 0; - switch (iv->type) { - /* Unsigned Integer */ - case EXI_UNSIGNED_INTEGER_8: - errn = encodeUnsignedInteger32(stream, iv->val.uint8); - break; - case EXI_UNSIGNED_INTEGER_16: - errn = encodeUnsignedInteger32(stream, iv->val.uint16); - break; - case EXI_UNSIGNED_INTEGER_32: - errn = encodeUnsignedInteger32(stream, iv->val.uint32); - break; - case EXI_UNSIGNED_INTEGER_64: - errn = encodeUnsignedInteger64(stream, iv->val.uint64); - break; - /* (Signed) Integer */ - case EXI_INTEGER_8: - if (iv->val.int8 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int8)); - break; - case EXI_INTEGER_16: - if (iv->val.int16 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int16)); - break; - case EXI_INTEGER_32: - if (iv->val.int32 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int32)); - break; - case EXI_INTEGER_64: - if (iv->val.int64 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger64(stream, (uint64_t)(iv->val.int64)); - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE_TYPE; - break; - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger16(bitstream_t* stream, uint16_t n) { - int errn = 0; - if (n < 128) { - /* write byte as is */ - errn = encode(stream, (uint8_t) n); - } else { - uint8_t n7BitBlocks = numberOf7BitBlocksToRepresent(n); - - switch (n7BitBlocks) { - case 3: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 2: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 1: - /* 0 .. 7 (last byte) */ - errn = encode(stream, (uint8_t) (0 | n)); - /* no break */ - } - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger32(bitstream_t* stream, uint32_t n) { - int errn = 0; - if (n < 128) { - /* write byte as is */ - errn = encode(stream, (uint8_t) n); - } else { - uint8_t n7BitBlocks = numberOf7BitBlocksToRepresent(n); - - switch (n7BitBlocks) { - case 5: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 4: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 3: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 2: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 1: - /* 0 .. 7 (last byte) */ - errn = encode(stream, (uint8_t) (0 | n)); - /* no break */ - } - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger64(bitstream_t* stream, uint64_t n) { - int errn = 0; - uint8_t lastEncode = (uint8_t) n; - n >>= 7; - - while (n != 0 && errn == 0) { - errn = encode(stream, lastEncode | 128); - lastEncode = (uint8_t) n; - n >>= 7; - } - - if (errn == 0) { - errn = encode(stream, lastEncode); - } - - return errn; -} - -void _shiftRight7(uint8_t* buf, int len) { - const int shift = 7; - unsigned char tmp = 0x00, tmp2 = 0x00; - for (int k = 0; k <= len; k++) { - if (k == 0) { - tmp = buf[k]; - buf[k] >>= shift; - } else { - tmp2 = buf[k]; - buf[k] >>= shift; - buf[k] |= ((tmp & 0x7F) << (8 - shift)); - - if (k != len) { - tmp = tmp2; - } - } - } -} - -/** - * Encode 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. - */ -int encodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t len) { - int errn = 0; - int i; - int lenM1 = len - 1; - #define MAX_BIGINT_ARRAY 25 - uint8_t lastEncode = 0; - uint8_t bytesToShift[MAX_BIGINT_ARRAY]; // MAXIMUM - size_t bitsToEncode = len * 8; - - if(MAX_BIGINT_ARRAY <= len) { - return -1; - } - - /* init */ - for(i=0; i 7) { - lastEncode = bytesToShift[lenM1]; - lastEncode = lastEncode | 128; - errn = encode(stream, lastEncode); - _shiftRight7(bytesToShift, len); - bitsToEncode -= 7; - } - - if (errn == 0) { - errn = encode(stream, bytesToShift[lenM1]); - } - - return errn; -} - -int encodeInteger(bitstream_t* stream, exi_integer_t* iv) { - int errn = 0; - switch (iv->type) { - /* Unsigned Integer */ - case EXI_UNSIGNED_INTEGER_8: - errn = encodeInteger32(stream, iv->val.uint8); - break; - case EXI_UNSIGNED_INTEGER_16: - errn = encodeInteger32(stream, iv->val.uint16); - break; - case EXI_UNSIGNED_INTEGER_32: - errn = encodeInteger64(stream, iv->val.uint32); - break; - case EXI_UNSIGNED_INTEGER_64: - errn = encodeInteger64(stream, (int64_t)(iv->val.uint64)); - break; - /* (Signed) Integer */ - case EXI_INTEGER_8: - errn = encodeInteger32(stream, iv->val.int8); - break; - case EXI_INTEGER_16: - errn = encodeInteger32(stream, iv->val.int16); - break; - case EXI_INTEGER_32: - errn = encodeInteger32(stream, iv->val.int32); - break; - case EXI_INTEGER_64: - errn = encodeInteger64(stream, iv->val.int64); - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE_TYPE; - break; - } - - return errn; -} - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger16(bitstream_t* stream, int16_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (int16_t)((-n) - 1); - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)n); - } - return errn; -} - - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger32(bitstream_t* stream, int32_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (-n) - 1; - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger32(stream, (uint32_t)n); - } - return errn; -} - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger64(bitstream_t* stream, int64_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (-n) - 1; - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger64(stream, (uint64_t)n); - } - return errn; -} - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeIntegerBig(bitstream_t* stream, int negative, size_t size, uint8_t* data, size_t len) { - int errn; - /* signalize sign */ - if (negative) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - /* n = (-n) - 1; */ - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedIntegerBig(stream, size, data, len); - } - return errn; -} - -/** - * The Float datatype representation is two consecutive Integers. - * The first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - */ -int encodeFloat(bitstream_t* stream, exi_float_me_t* f) { - int errn = encodeInteger64(stream, f->mantissa); - if (errn == 0) { - errn = encodeInteger32(stream, f->exponent); - } - return errn; -} - -/** - * Encode a decimal represented as a Boolean sign followed by two Unsigned - * Integers. A sign value of zero (0) is used to represent positive Decimal - * values and a sign value of one (1) is used to represent negative Decimal - * values The first Integer represents the integral portion of the Decimal - * value. The second positive integer represents the fractional portion of - * the decimal with the digits in reverse order to preserve leading zeros. - */ -int encodeDecimal(bitstream_t* stream, exi_decimal_t* d) { - /* sign, integral, reverse fractional */ - int errn = encodeBoolean(stream, d->negative); - if (errn == 0) { - errn = encodeUnsignedInteger(stream, &d->integral); - if (errn == 0) { - errn = encodeUnsignedInteger(stream, &d->reverseFraction); - } - } - return errn; -} - -/** - * Encode a length prefixed sequence of characters. - */ -int encodeString(bitstream_t* stream, exi_string_t* string) { - int errn = encodeUnsignedInteger32(stream, string->len); - if (errn == 0) { - errn = encodeCharacters(stream, string->characters, string->len); - } - 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, size_t len) { - unsigned int i; - int errn = 0; - for (i = 0; i < len && errn == 0; i++) { -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - errn = encode(stream, (uint8_t)chars[i]); -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - errn = encodeUnsignedInteger32(stream, chars[i]); -#endif /* STRING_REPRESENTATION_UCS */ - } - return errn; -} - - -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; - unsigned int k; - int errn = 0; - size_t rcsCode = SIZE_MAX; - - for (i = 0; i < len && errn == 0; i++) { - /* try to find short code */ - rcsCode = SIZE_MAX; - for(k=0; klen); - - if(errn == 0) { - errn = encodeBytes(stream, bytes->data, bytes->len); - } - - return errn; -} - -int encodeBytes(bitstream_t* stream, uint8_t* data, size_t len) { - unsigned int i; - int errn = 0; - - for (i = 0; i < len && errn == 0; i++) { - errn = encode(stream, data[i]); - } - return errn; -} - -/** - * Encode a datetime representation which is a sequence of values - * representing the individual components of the Date-Time - */ -int encodeDateTime(bitstream_t* stream, exi_datetime_t* datetime) { - int errn = 0; - switch (datetime->type) { - case EXI_DATETIME_GYEAR: /* Year, [Time-Zone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - break; - case EXI_DATETIME_GYEARMONTH: /* Year, MonthDay, [TimeZone] */ - case EXI_DATETIME_DATE: /* Year, MonthDay, [TimeZone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - } - break; - case EXI_DATETIME_DATETIME: /* Year, MonthDay, Time, [FractionalSecs], [TimeZone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - if (errn != 0) { - break; - } - } - /* no break */ - case EXI_DATETIME_TIME: /* Time, [FractionalSecs], [TimeZone] */ - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIME, - datetime->time); - if (errn == 0) { - if (datetime->presenceFractionalSecs) { - errn = encodeBoolean(stream, 1); - if (errn == 0) { - errn = encodeUnsignedInteger32(stream, datetime->fractionalSecs); - } - } else { - errn = encodeBoolean(stream, 0); - } - } - break; - case EXI_DATETIME_GMONTH: /* MonthDay, [TimeZone] */ - case EXI_DATETIME_GMONTHDAY: /* MonthDay, [TimeZone] */ - case EXI_DATETIME_GDAY: /* MonthDay, [TimeZone] */ - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - break; - default: - errn = EXI_UNSUPPORTED_DATETIME_TYPE; - break; - } - if (errn == 0) { - /* [TimeZone] */ - if (datetime->presenceTimezone) { - errn = encodeBoolean(stream, 1); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIMEZONE, - datetime->timezone + DATETIME_TIMEZONE_OFFSET_IN_MINUTES); - } - } else { - errn = encodeBoolean(stream, 0); - } - } - - return errn; -} - - - - -int encode(bitstream_t* stream, uint8_t b) { -#if EXI_OPTION_ALIGNMENT == BIT_PACKED - return writeBits(stream, 8, b); -#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 ) { - 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/Port/vc2022/src/codec/EncoderChannel.h b/Port/vc2022/src/codec/EncoderChannel.h deleted file mode 100644 index fdceaff..0000000 --- a/Port/vc2022/src/codec/EncoderChannel.h +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EncoderChannel.h - * \brief EXI Encoder Channel - * - */ - -#ifndef ENCODER_CHANNEL_H -#define ENCODER_CHANNEL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - - -/** - * \brief Encode byte value - * - * \param stream Output Stream - * \param b byte - * \return Error-Code <> 0 - * - */ -int encode(bitstream_t* stream, uint8_t b); - - -/** - * \brief Encode a single boolean value - * - * A false value is encoded as 0 and true value is encode as 1. - * - * \param stream Output Stream - * \param b boolean - * \return Error-Code <> 0 - * - */ -int encodeBoolean(bitstream_t* stream, int b); - - -/** - * \brief Encode n-bit unsigned integer - * - * The n least significant bits of parameter b starting with the - * most significant, i.e. from left to right. - * - * \param stream Output Stream - * \param nbits number of bits - * \param val value - * \return Error-Code <> 0 - * - */ -int encodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t val); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param iv Unsigned integer value - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 16 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger16(bitstream_t* stream, uint16_t n); - - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 32 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger32(bitstream_t* stream, uint32_t n); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 64 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger64(bitstream_t* stream, uint64_t n); - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int encodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t len); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param iv Integer value - * \return Error-Code <> 0 - * - */ -int encodeInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 16 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger16(bitstream_t* stream, int16_t n); - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 32 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger32(bitstream_t* stream, int32_t n); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 64 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger64(bitstream_t* stream, int64_t n); - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param negative negative integer - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int encodeIntegerBig(bitstream_t* stream, int negative, size_t size, uint8_t* data, size_t len); - -/** - * \brief Encode float - * - * Encode a Float datatype as two consecutive Integers. The first - * Integer represents the mantissa of the floating point number - * and the second Integer represents the base-10 exponent of the - * floating point number. - * - * \param stream Output Stream - * \param f Float value - * \return Error-Code <> 0 - * - */ -int encodeFloat(bitstream_t* stream, exi_float_me_t* f); - - -/** - * \brief Encode decimal - * - * Encode a decimal represented as a Boolean sign followed by two - * Unsigned Integers. A sign value of zero (0) is used to represent - * positive Decimal values and a sign value of one (1) is used to - * represent negative Decimal values The first Integer represents - * the integral portion of the Decimal value. The second positive - * integer represents the fractional portion of the decimal with - * the digits in reverse order to preserve leading zeros. - * - * \param stream Output Stream - * \param d Decimal value - * \return Error-Code <> 0 - * - */ -int encodeDecimal(bitstream_t* stream, exi_decimal_t* d); - - -/** - * \brief Encode string - * - * Encode a length prefixed sequence of characters. - * - * \param stream Output Stream - * \param string String - * \return Error-Code <> 0 - * - */ -int encodeString(bitstream_t* stream, exi_string_t* string); - - -/** - * \brief Encode string value - * - * Encode a length prefixed sequence of characters - * in the sense of string tables - * - * \param stream Output Stream - * \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_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, - exi_string_value_t* string); - - -/** - * \brief Encode restricted character set value - * - * Encode a length prefixed sequence of characters - * in the sense of string tables - * - * \param stream Output Stream - * \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_value_string_table_t* stringTable, - size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* string); - - -/** - * \brief Encode characters - * - * 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. - * - * \param stream Output Stream - * \param chars Characters - * \param len Numbr of characters - * \return Error-Code <> 0 - * - */ -int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len); - - -/** - * \brief Encode characters - * - * 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. - * - * \param stream Output Stream - * \param chars Characters - * \param len Numbr of characters - * \param rcsCodeLength RCS code-length - * \param rcsCodeLength RCS size - * \param rcsCodeLength RCS set - * \return Error-Code <> 0 - * - */ -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[]); - - - -/** - * \brief Encode binary - * - * Encode a binary value as a length-prefixed sequence of octets. - * - * \param stream Output Stream - * \param bytes Byte values - * \return Error-Code <> 0 - * - */ -int encodeBinary(bitstream_t* stream, exi_bytes_t* bytes); - - -/** - * \brief Encode binary data - * - * Encode a sequence of octets. - * - * \param stream Output Stream - * \param data Byte values - * \param len Length - * \return Error-Code <> 0 - * - */ -int encodeBytes(bitstream_t* stream, uint8_t* data, size_t len); - -/** - * \brief Encode datetime - * - * Encode a datetime representation which is a sequence of values - * representing the individual components of the Date-Time. - * - * \param stream Output Stream - * \param datetime Datetime values - * \return Error-Code <> 0 - * - */ -int encodeDateTime(bitstream_t* stream, exi_datetime_t* datetime); - - -/** - * \brief Flush underlying bit output stream - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int encodeFinish(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/codec/ErrorCodes.h b/Port/vc2022/src/codec/ErrorCodes.h deleted file mode 100644 index e77855f..0000000 --- a/Port/vc2022/src/codec/ErrorCodes.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file ErrorCodes.h - * \brief Error Codes descriptions - * - */ - -#ifndef EXI_ERROR_CODES_H -#define EXI_ERROR_CODES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define EXI_ERROR_INPUT_STREAM_EOF -10 -#define EXI_ERROR_OUTPUT_STREAM_EOF -11 -#define EXI_ERROR_INPUT_FILE_HANDLE -12 -#define EXI_ERROR_OUTPUT_FILE -13 - -#define EXI_ERROR_OUT_OF_BOUNDS -100 -#define EXI_ERROR_OUT_OF_STRING_BUFFER -101 -/*#define EXI_ERROR_OUT_OF_ASCII_BUFFER -102 */ -#define EXI_ERROR_OUT_OF_BYTE_BUFFER -103 -#define EXI_ERROR_OUT_OF_GRAMMAR_STACK -104 -#define EXI_ERROR_OUT_OF_RUNTIME_GRAMMAR_STACK -105 -#define EXI_ERROR_OUT_OF_QNAMES -106 - -#define EXI_ERROR_UNKOWN_GRAMMAR_ID -108 -#define EXI_ERROR_UNKOWN_EVENT -109 -#define EXI_ERROR_UNKOWN_EVENT_CODE -110 -#define EXI_ERROR_UNEXPECTED_EVENT_LEVEL1 -111 -#define EXI_ERROR_UNEXPECTED_EVENT_LEVEL2 -112 - -#define EXI_ERROR_UNEXPECTED_START_DOCUMENT -113 -#define EXI_ERROR_UNEXPECTED_END_DOCUMENT -114 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT -115 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_NS -116 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC -117 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC_UNDECLARED -118 -#define EXI_ERROR_UNEXPECTED_END_ELEMENT -119 -#define EXI_ERROR_UNEXPECTED_CHARACTERS -120 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE -121 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_NS -122 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC -123 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC_UNDECLARED -124 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_TYPE -125 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_NIL -126 -#define EXI_ERROR_UNEXPECTED_GRAMMAR_ID -127 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_MOVE_TO_CONTENT_RULE -128 - -#define EXI_UNSUPPORTED_NBIT_INTEGER_LENGTH -132 -#define EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS -133 -#define EXI_UNSUPPORTED_INTEGER_VALUE -134 -#define EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE -135 -#define EXI_UNSUPPORTED_LIST_VALUE_TYPE -136 -#define EXI_UNSUPPORTED_HEADER_COOKIE -137 -#define EXI_UNSUPPORTED_HEADER_OPTIONS -138 - -#define EXI_UNSUPPORTED_GLOBAL_ATTRIBUTE_VALUE_TYPE -139 -#define EXI_UNSUPPORTED_DATATYPE -140 -#define EXI_UNSUPPORTED_STRING_VALUE_TYPE -141 -#define EXI_UNSUPPORTED_INTEGER_VALUE_TYPE -142 -#define EXI_UNSUPPORTED_DATETIME_TYPE -143 -#define EXI_UNSUPPORTED_FRAGMENT_ELEMENT -144 - -#define EXI_UNSUPPORTED_GRAMMAR_LEARNING_CH -150 - -/* string values */ -#define EXI_ERROR_STRINGVALUES_NOT_SUPPORTED -160 -#define EXI_ERROR_STRINGVALUES_OUT_OF_ENTRIES -161 -#define EXI_ERROR_STRINGVALUES_OUT_OF_MEMORY -162 -#define EXI_ERROR_STRINGVALUES_OUT_OF_BOUND -163 -#define EXI_ERROR_STRINGVALUES_CHARACTER -164 - -#define EXI_ERROR_UNEXPECTED_BYTE_VALUE -200 - - -#define EXI_ERROR_CONVERSION_NO_ASCII_CHARACTERS -300 -#define EXI_ERROR_CONVERSION_TYPE_TO_STRING -301 - - -#define EXI_DEVIANT_SUPPORT_NOT_DEPLOYED -500 - -#ifdef __cplusplus -} -#endif - - -#endif /* EXI_ERROR_CODES_H */ - diff --git a/Port/vc2022/src/codec/MethodsBag.c b/Port/vc2022/src/codec/MethodsBag.c deleted file mode 100644 index 11606a5..0000000 --- a/Port/vc2022/src/codec/MethodsBag.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#ifndef METHODS_BAG_C -#define METHODS_BAG_C - -#include "MethodsBag.h" -#include "ErrorCodes.h" - -static const uint16_t smallLengths[] = { 0, 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, - 4, 4, 4 }; - -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; - if (characteristics < 17) { - *codingLength = smallLengths[characteristics]; - } else if (characteristics < 33) { - /* 17 .. 32 */ - *codingLength = 5; - } else if (characteristics < 65) { - /* 33 .. 64 */ - *codingLength = 6; - } else if (characteristics < 129) { - /* 65 .. 128 */ - *codingLength = 7; - } else if (characteristics < 257) { - /* 129 .. 256 */ - *codingLength = 8; - } else if (characteristics < 513) { - /* 257 .. 512 */ - *codingLength = 9; - } else if (characteristics < 1025) { - /* 513 .. 1024 */ - *codingLength = 10; - } else if (characteristics < 2049) { - /* 1025 .. 2048 */ - *codingLength = 11; - } else if (characteristics < 4097) { - /* 2049 .. 4096 */ - *codingLength = 12; - } else if (characteristics < 8193) { - /* 4097 .. 8192 */ - *codingLength = 13; - } else if (characteristics < 16385) { - /* 8193 .. 16384 */ - *codingLength = 14; - } else if (characteristics < 32769) { - /* 16385 .. 32768 */ - *codingLength = 15; - } else { - /* 32769 .. 65536 */ - *codingLength = 16; - } - return errn; -} - - -uint8_t numberOf7BitBlocksToRepresent(uint32_t n) { - /* assert (n >= 0); */ - - /* 7 bits */ - if (n < 128) { - return 1; - } - /* 14 bits */ - else if (n < 16384) { - return 2; - } - /* 21 bits */ - else if (n < 2097152) { - return 3; - } - /* 28 bits */ - else if (n < 268435456) { - return 4; - } - /* 35 bits */ - else { - /* int, 32 bits */ - return 5; - } -} - - - -#endif - diff --git a/Port/vc2022/src/codec/MethodsBag.h b/Port/vc2022/src/codec/MethodsBag.h deleted file mode 100644 index 163685c..0000000 --- a/Port/vc2022/src/codec/MethodsBag.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** -* \file MethodsBag.h -* \brief Method bag for bit and octet functions -* -*/ - -#ifndef METHODS_BAG_H -#define METHODS_BAG_H - - - -#include -#include - -/** - * \brief Returns the number of bits to identify the characteristics. - * - * \param characteristics number of characteristics - * \param codingLength number of bits - * \return Error-Code <> 0 - * - */ -int exiGetCodingLength(size_t characteristics, size_t* codingLength); - - -/** - * \brief Returns the least number of 7 bit-blocks that is needed to represent the passed integer value - * - * Note: Returns 1 if passed parameter is 0. - * - * \param n integer value - * \return Error-Code <> 0 - * - */ -uint8_t numberOf7BitBlocksToRepresent(uint32_t n); - - -#endif - diff --git a/Port/vc2022/src/compat/windows_compat.h b/Port/vc2022/src/compat/windows_compat.h deleted file mode 100644 index 869c2ef..0000000 --- a/Port/vc2022/src/compat/windows_compat.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef WINDOWS_COMPAT_H -#define WINDOWS_COMPAT_H - -#ifdef _WIN32 - #include - #include - #include - - // Windows equivalents for POSIX functions - #define access _access - #define F_OK 0 - #define R_OK 4 - #define W_OK 2 - #define X_OK 1 - - // For stat structure compatibility - #ifndef S_ISREG - #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) - #endif - - #ifndef S_ISDIR - #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) - #endif - -#else - #include - #include -#endif - -#endif // WINDOWS_COMPAT_H \ No newline at end of file diff --git a/Port/vc2022/src/din/dinEXIDatatypes.c b/Port/vc2022/src/din/dinEXIDatatypes.c deleted file mode 100644 index fa1fb79..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypes.c +++ /dev/null @@ -1,969 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "dinEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_din_DATATYPES_C -#define EXI_din_DATATYPES_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - - -void init_dinEXIDocument(struct dinEXIDocument* exiDoc) { - exiDoc->BodyElement_isUsed = 0u; - exiDoc->V2G_Message_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; - exiDoc->DC_EVSEStatus_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_isUsed = 0u; - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->SASchedules_isUsed = 0u; - exiDoc->AC_EVChargeParameter_isUsed = 0u; - exiDoc->SAScheduleList_isUsed = 0u; - exiDoc->DC_EVStatus_isUsed = 0u; - exiDoc->ServiceCharge_isUsed = 0u; - exiDoc->EVStatus_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->AC_EVSEChargeParameter_isUsed = 0u; - exiDoc->PMaxScheduleEntry_isUsed = 0u; - exiDoc->EVChargeParameter_isUsed = 0u; - exiDoc->ServiceDiscoveryReq_isUsed = 0u; - exiDoc->ServiceDiscoveryRes_isUsed = 0u; - exiDoc->MeteringReceiptReq_isUsed = 0u; - exiDoc->PaymentDetailsReq_isUsed = 0u; - exiDoc->MeteringReceiptRes_isUsed = 0u; - exiDoc->PaymentDetailsRes_isUsed = 0u; - exiDoc->SessionSetupReq_isUsed = 0u; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - exiDoc->CableCheckRes_isUsed = 0u; - exiDoc->ContractAuthenticationReq_isUsed = 0u; - exiDoc->CertificateInstallationReq_isUsed = 0u; - exiDoc->ContractAuthenticationRes_isUsed = 0u; - exiDoc->CertificateInstallationRes_isUsed = 0u; - exiDoc->WeldingDetectionReq_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->CurrentDemandReq_isUsed = 0u; - exiDoc->PreChargeReq_isUsed = 0u; - exiDoc->CurrentDemandRes_isUsed = 0u; - exiDoc->PreChargeRes_isUsed = 0u; - exiDoc->ServicePaymentSelectionReq_isUsed = 0u; - exiDoc->SessionStopReq_isUsed = 0u; - exiDoc->ServicePaymentSelectionRes_isUsed = 0u; - exiDoc->SessionStopRes_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u; - exiDoc->ServiceDetailReq_isUsed = 0u; - exiDoc->ServiceDetailRes_isUsed = 0u; -} - - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -void init_dinEXIFragment(struct dinEXIFragment* exiFrag) { - exiFrag->Unit_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u; - exiFrag->TMeter_isUsed = 0u; - exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; - exiFrag->duration_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->Parameter_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->AC_EVChargeParameter_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->PMaxScheduleEntry_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->SelectedService_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVReady_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->RetryCounter_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->MeteringReceiptReq_isUsed = 0u; - exiFrag->ReadyToChargeState_isUsed = 0u; - exiFrag->Multiplier_isUsed = 0u; - exiFrag->EPriceLevel_isUsed = 0u; - exiFrag->stringValue_isUsed = 0u; - exiFrag->ServiceDiscoveryReq_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->MeteringReceiptRes_isUsed = 0u; - exiFrag->PreChargeReq_isUsed = 0u; - exiFrag->OEMProvisioningCert_isUsed = 0u; - exiFrag->ServiceDiscoveryRes_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->ContractAuthenticationReq_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractAuthenticationRes_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->SAScheduleTuple_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DepartureTime_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->RelativeTimeInterval_isUsed = 0u; - exiFrag->EVEnergyRequest_isUsed = 0u; - exiFrag->PreChargeRes_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->PMaxSchedule_isUsed = 0u; - exiFrag->ServiceCharge_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; - exiFrag->ChargingStatusReq_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->SalesTariffEntry_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->ChargingStatusRes_isUsed = 0u; - exiFrag->V2G_Message_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->ServicePaymentSelectionReq_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->EVSEIsolationStatus_isUsed = 0u; - exiFrag->ServicePaymentSelectionRes_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->BodyElement_isUsed = 0u; - exiFrag->EVCCID_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->RootCertificateID_isUsed = 0u; - exiFrag->FaultCode_isUsed = 0u; - exiFrag->CableCheckReq_isUsed = 0u; - exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; - exiFrag->EVRESSConditioning_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->CableCheckRes_isUsed = 0u; - exiFrag->ChargingProfileEntryStart_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->EVMaxCurrent_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->costKind_isUsed = 0u; - exiFrag->EAmount_isUsed = 0u; - exiFrag->EVSEPresentCurrent_isUsed = 0u; - exiFrag->PowerDeliveryRes_isUsed = 0u; - exiFrag->NumEPriceLevels_isUsed = 0u; - exiFrag->SessionStopRes_isUsed = 0u; - exiFrag->PowerDeliveryReq_isUsed = 0u; - exiFrag->SessionStopReq_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->BulkSOC_isUsed = 0u; - exiFrag->PMax_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->EVMaxVoltage_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->ChargingProfile_isUsed = 0u; - exiFrag->PaymentOptions_isUsed = 0u; - exiFrag->SessionSetupRes_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceDetailRes_isUsed = 0u; - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->PaymentDetailsRes_isUsed = 0u; - exiFrag->PaymentDetailsReq_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->Value_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->RemainingTimeToBulkSoC_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->SessionSetupReq_isUsed = 0u; - exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; - exiFrag->ServiceDetailReq_isUsed = 0u; - exiFrag->byteValue_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->PowerSwitchClosed_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->SAScheduleList_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->CertificateInstallationRes_isUsed = 0u; - exiFrag->CertificateInstallationReq_isUsed = 0u; - exiFrag->SalesTariff_isUsed = 0u; - exiFrag->Header_isUsed = 0u; - exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->DigestValue_isUsed = 0u; - exiFrag->DC_EVChargeParameter_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->ChargeService_isUsed = 0u; - exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->EVSEStatus_isUsed = 0u; - exiFrag->Service_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->EnergyTransferType_isUsed = 0u; - exiFrag->WeldingDetectionRes_isUsed = 0u; - exiFrag->FreeService_isUsed = 0u; - exiFrag->SelectedServiceList_isUsed = 0u; - exiFrag->WeldingDetectionReq_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->CertificateUpdateRes_isUsed = 0u; - exiFrag->CertificateUpdateReq_isUsed = 0u; - exiFrag->EVSEMaxVoltage_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->AC_EVSEChargeParameter_isUsed = 0u; - exiFrag->EVEnergyCapacity_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; - exiFrag->ServiceParameterList_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ProfileEntry_isUsed = 0u; - exiFrag->EVSEMinimumVoltageLimit_isUsed = 0u; - exiFrag->CurrentDemandRes_isUsed = 0u; - exiFrag->EVRESSSOC_isUsed = 0u; - exiFrag->MeterReading_isUsed = 0u; - exiFrag->CurrentDemandReq_isUsed = 0u; - exiFrag->physicalValue_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->TimeInterval_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->DateTimeNow_isUsed = 0u; - exiFrag->DateTimeNow_isUsed = 0u; - exiFrag->ServiceTag_isUsed = 0u; - exiFrag->intValue_isUsed = 0u; - exiFrag->SelectedPaymentOption_isUsed = 0u; - exiFrag->ServiceName_isUsed = 0u; - exiFrag->EVCabinConditioning_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->MeterStatus_isUsed = 0u; - exiFrag->EVRequestedEnergyTransferType_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->SalesTariffDescription_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->boolValue_isUsed = 0u; - exiFrag->EVSEStatusCode_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->FaultMsg_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->ParameterSet_isUsed = 0u; - exiFrag->SigMeterReading_isUsed = 0u; - exiFrag->EVSEChargeParameter_isUsed = 0u; - exiFrag->Body_isUsed = 0u; - exiFrag->SASchedules_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->PMaxScheduleID_isUsed = 0u; - exiFrag->RemainingTimeToFullSoC_isUsed = 0u; - exiFrag->EVStatus_isUsed = 0u; - exiFrag->SubCertificates_isUsed = 0u; - exiFrag->PaymentOption_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceList_isUsed = 0u; - exiFrag->Cost_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->EVSEMinCurrent_isUsed = 0u; - exiFrag->ConsumptionCost_isUsed = 0u; - exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; - exiFrag->EVErrorCode_isUsed = 0u; - exiFrag->EVChargeParameter_isUsed = 0u; - exiFrag->start_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->EVMinCurrent_isUsed = 0u; - exiFrag->FullSOC_isUsed = 0u; - exiFrag->amount_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->shortValue_isUsed = 0u; - exiFrag->DC_EVSEChargeParameter_isUsed = 0u; - exiFrag->Entry_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->SalesTariffID_isUsed = 0u; - exiFrag->MeterID_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; - exiFrag->amountMultiplier_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->RCD_isUsed = 0u; - exiFrag->Notification_isUsed = 0u; - exiFrag->startValue_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - -void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - dinMeteringReceiptReqType->Id_isUsed = 0u; - dinMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_dinBodyType(struct dinBodyType* dinBodyType) { - dinBodyType->BodyElement_isUsed = 0u; - dinBodyType->SessionSetupReq_isUsed = 0u; - dinBodyType->SessionSetupRes_isUsed = 0u; - dinBodyType->ServiceDiscoveryReq_isUsed = 0u; - dinBodyType->ServiceDiscoveryRes_isUsed = 0u; - dinBodyType->ServiceDetailReq_isUsed = 0u; - dinBodyType->ServiceDetailRes_isUsed = 0u; - dinBodyType->ServicePaymentSelectionReq_isUsed = 0u; - dinBodyType->ServicePaymentSelectionRes_isUsed = 0u; - dinBodyType->PaymentDetailsReq_isUsed = 0u; - dinBodyType->PaymentDetailsRes_isUsed = 0u; - dinBodyType->ContractAuthenticationReq_isUsed = 0u; - dinBodyType->ContractAuthenticationRes_isUsed = 0u; - dinBodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - dinBodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - dinBodyType->PowerDeliveryReq_isUsed = 0u; - dinBodyType->PowerDeliveryRes_isUsed = 0u; - dinBodyType->ChargingStatusReq_isUsed = 0u; - dinBodyType->ChargingStatusRes_isUsed = 0u; - dinBodyType->MeteringReceiptReq_isUsed = 0u; - dinBodyType->MeteringReceiptRes_isUsed = 0u; - dinBodyType->SessionStopReq_isUsed = 0u; - dinBodyType->SessionStopRes_isUsed = 0u; - dinBodyType->CertificateUpdateReq_isUsed = 0u; - dinBodyType->CertificateUpdateRes_isUsed = 0u; - dinBodyType->CertificateInstallationReq_isUsed = 0u; - dinBodyType->CertificateInstallationRes_isUsed = 0u; - dinBodyType->CableCheckReq_isUsed = 0u; - dinBodyType->CableCheckRes_isUsed = 0u; - dinBodyType->PreChargeReq_isUsed = 0u; - dinBodyType->PreChargeRes_isUsed = 0u; - dinBodyType->CurrentDemandReq_isUsed = 0u; - dinBodyType->CurrentDemandRes_isUsed = 0u; - dinBodyType->WeldingDetectionReq_isUsed = 0u; - dinBodyType->WeldingDetectionRes_isUsed = 0u; -} - -void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType) { - (void)dinSessionSetupReqType; /* avoid unused warning */ -} - -void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - dinPowerDeliveryResType->EVSEStatus_isUsed = 0u; - dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u; - dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType) { - dinServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - (void)dinWeldingDetectionResType; /* avoid unused warning */ -} - -void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - (void)dinContractAuthenticationResType; /* avoid unused warning */ -} - -void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - dinCanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType) { - dinSPKIDataType->SPKISexp.arrayLen = 0u; - dinSPKIDataType->ANY_isUsed = 0u; -} - -void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType) { - dinSelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType) { - dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u; - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u; -} - -void init_dinTransformType(struct dinTransformType* dinTransformType) { - dinTransformType->ANY_isUsed = 0u; - dinTransformType->XPath.arrayLen = 0u; -} - -void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - (void)dinAC_EVChargeParameterType; /* avoid unused warning */ -} - -void init_dinX509DataType(struct dinX509DataType* dinX509DataType) { - dinX509DataType->X509IssuerSerial.arrayLen = 0u; - dinX509DataType->X509SKI.arrayLen = 0u; - dinX509DataType->X509SubjectName.arrayLen = 0u; - dinX509DataType->X509Certificate.arrayLen = 0u; - dinX509DataType->X509CRL.arrayLen = 0u; - dinX509DataType->ANY_isUsed = 0u; -} - -void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType) { - dinChargingStatusResType->EVSEMaxCurrent_isUsed = 0u; - dinChargingStatusResType->MeterInfo_isUsed = 0u; -} - -void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - (void)dinWeldingDetectionReqType; /* avoid unused warning */ -} - -void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - dinSignaturePropertiesType->Id_isUsed = 0u; - dinSignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - dinContractAuthenticationReqType->Id_isUsed = 0u; - dinContractAuthenticationReqType->GenChallenge_isUsed = 0u; -} - -void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - dinDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; -} - -void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - (void)dinEVSEChargeParameterType; /* avoid unused warning */ -} - -void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType) { - (void)dinCableCheckReqType; /* avoid unused warning */ -} - -void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u; - dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u; - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u; - dinDC_EVChargeParameterType->FullSOC_isUsed = 0u; - dinDC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType) { - dinSAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType) { - dinPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - (void)dinServicePaymentSelectionReqType; /* avoid unused warning */ -} - -void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - dinRelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType) { - (void)dinEVStatusType; /* avoid unused warning */ -} - -void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType) { - (void)dinPreChargeResType; /* avoid unused warning */ -} - -void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed = 0u; - dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - (void)dinPaymentDetailsResType; /* avoid unused warning */ -} - -void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType) { - dinDSAKeyValueType->P_isUsed = 0u; - dinDSAKeyValueType->Q_isUsed = 0u; - dinDSAKeyValueType->G_isUsed = 0u; - dinDSAKeyValueType->J_isUsed = 0u; - dinDSAKeyValueType->Seed_isUsed = 0u; - dinDSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType) { - (void)dinSASchedulesType; /* avoid unused warning */ -} - -void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - (void)dinCertificateUpdateResType; /* avoid unused warning */ -} - -void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType) { - (void)dinEVChargeParameterType; /* avoid unused warning */ -} - -void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType) { - dinMessageHeaderType->Notification_isUsed = 0u; - dinMessageHeaderType->Signature_isUsed = 0u; -} - -void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType) { - (void)dinBodyBaseType; /* avoid unused warning */ -} - -void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType) { - dinKeyValueType->DSAKeyValue_isUsed = 0u; - dinKeyValueType->RSAKeyValue_isUsed = 0u; - dinKeyValueType->ANY_isUsed = 0u; -} - -void init_dinIntervalType(struct dinIntervalType* dinIntervalType) { - (void)dinIntervalType; /* avoid unused warning */ -} - -void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - dinChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; - dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; -} - -void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - dinPowerDeliveryReqType->ChargingProfile_isUsed = 0u; - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u; - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u; -} - -void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType) { - dinCertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_dinTransformsType(struct dinTransformsType* dinTransformsType) { - dinTransformsType->Transform.arrayLen = 0u; -} - -void init_dinEntryType(struct dinEntryType* dinEntryType) { - dinEntryType->TimeInterval_isUsed = 0u; - dinEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType) { - (void)dinSessionStopType; /* avoid unused warning */ -} - -void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType) { - (void)dinServiceDetailReqType; /* avoid unused warning */ -} - -void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType) { - dinDigestMethodType->ANY_isUsed = 0u; -} - -void init_dinParameterType(struct dinParameterType* dinParameterType) { - dinParameterType->boolValue_isUsed = 0u; - dinParameterType->byteValue_isUsed = 0u; - dinParameterType->shortValue_isUsed = 0u; - dinParameterType->intValue_isUsed = 0u; - dinParameterType->physicalValue_isUsed = 0u; - dinParameterType->stringValue_isUsed = 0u; -} - -void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType) { - (void)dinChargingStatusReqType; /* avoid unused warning */ -} - -void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType) { - dinSignatureMethodType->HMACOutputLength_isUsed = 0u; - dinSignatureMethodType->ANY_isUsed = 0u; -} - -void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - dinCertificateInstallationReqType->Id_isUsed = 0u; -} - -void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - dinSalesTariffEntryType->TimeInterval_isUsed = 0u; - dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; - dinSalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - dinServiceDiscoveryResType->ServiceList_isUsed = 0u; -} - -void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType) { - dinParameterSetType->Parameter.arrayLen = 0u; -} - -void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u; - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u; - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u; - dinCurrentDemandReqType->BulkChargingComplete_isUsed = 0u; - dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u; - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u; -} - -void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType) { - (void)dinPreChargeReqType; /* avoid unused warning */ -} - -void init_dinSignatureType(struct dinSignatureType* dinSignatureType) { - dinSignatureType->Id_isUsed = 0u; - dinSignatureType->KeyInfo_isUsed = 0u; - dinSignatureType->Object.arrayLen = 0u; -} - -void init_dinReferenceType(struct dinReferenceType* dinReferenceType) { - dinReferenceType->Id_isUsed = 0u; - dinReferenceType->URI_isUsed = 0u; - dinReferenceType->Type_isUsed = 0u; - dinReferenceType->Transforms_isUsed = 0u; -} - -void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType) { - (void)dinProfileEntryType; /* avoid unused warning */ -} - -void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - (void)dinAnonType_V2G_Message; /* avoid unused warning */ -} - -void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; -} - -void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType) { - dinConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType) { - (void)dinRSAKeyValueType; /* avoid unused warning */ -} - -void init_dinServiceType(struct dinServiceType* dinServiceType) { - (void)dinServiceType; /* avoid unused warning */ -} - -void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType) { - dinServiceTagListType->Service.arrayLen = 0u; -} - -void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType) { - (void)dinEVSEStatusType; /* avoid unused warning */ -} - -void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType) { - dinSessionSetupResType->DateTimeNow_isUsed = 0u; -} - -void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - (void)dinEVPowerDeliveryParameterType; /* avoid unused warning */ -} - -void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - (void)dinX509IssuerSerialType; /* avoid unused warning */ -} - -void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType) { - dinSelectedServiceType->ParameterSetID_isUsed = 0u; -} - -void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - (void)dinMeteringReceiptResType; /* avoid unused warning */ -} - -void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType) { - dinDC_EVStatusType->EVCabinConditioning_isUsed = 0u; - dinDC_EVStatusType->EVRESSConditioning_isUsed = 0u; -} - -void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType) { - dinPhysicalValueType->Unit_isUsed = 0u; -} - -void init_dinManifestType(struct dinManifestType* dinManifestType) { - dinManifestType->Id_isUsed = 0u; - dinManifestType->Reference.arrayLen = 0u; -} - -void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - dinPMaxScheduleEntryType->TimeInterval_isUsed = 0u; - dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType) { - dinServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType) { - dinSignatureValueType->Id_isUsed = 0u; -} - -void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType) { - dinPaymentOptionsType->PaymentOption.arrayLen = 0u; -} - -void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType) { - dinServiceTagType->ServiceName_isUsed = 0u; - dinServiceTagType->ServiceScope_isUsed = 0u; -} - -void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - (void)dinAC_EVSEStatusType; /* avoid unused warning */ -} - -void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - dinCertificateUpdateReqType->Id_isUsed = 0u; -} - -void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - (void)dinServicePaymentSelectionResType; /* avoid unused warning */ -} - -void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - dinSAScheduleTupleType->SalesTariff_isUsed = 0u; -} - -void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType) { - dinChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - dinServiceDiscoveryReqType->ServiceScope_isUsed = 0u; - dinServiceDiscoveryReqType->ServiceCategory_isUsed = 0u; -} - -void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - (void)dinAC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType) { - dinKeyInfoType->Id_isUsed = 0u; - dinKeyInfoType->KeyName.arrayLen = 0u; - dinKeyInfoType->KeyValue.arrayLen = 0u; - dinKeyInfoType->RetrievalMethod.arrayLen = 0u; - dinKeyInfoType->X509Data.arrayLen = 0u; - dinKeyInfoType->PGPData.arrayLen = 0u; - dinKeyInfoType->SPKIData.arrayLen = 0u; - dinKeyInfoType->MgmtData.arrayLen = 0u; - dinKeyInfoType->ANY_isUsed = 0u; -} - -void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - (void)dinPaymentDetailsReqType; /* avoid unused warning */ -} - -void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType) { - (void)dinCableCheckResType; /* avoid unused warning */ -} - -void init_dinObjectType(struct dinObjectType* dinObjectType) { - dinObjectType->Id_isUsed = 0u; - dinObjectType->MimeType_isUsed = 0u; - dinObjectType->Encoding_isUsed = 0u; - dinObjectType->ANY_isUsed = 0u; -} - -void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType) { - (void)dinSessionStopResType; /* avoid unused warning */ -} - -void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType) { - dinSignedInfoType->Id_isUsed = 0u; - dinSignedInfoType->Reference.arrayLen = 0u; -} - -void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType) { - dinSalesTariffType->SalesTariffDescription_isUsed = 0u; - dinSalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_dinCostType(struct dinCostType* dinCostType) { - dinCostType->amountMultiplier_isUsed = 0u; -} - -void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType) { - (void)dinServiceChargeType; /* avoid unused warning */ -} - -void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - dinDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; -} - -void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType) { - dinRetrievalMethodType->URI_isUsed = 0u; - dinRetrievalMethodType->Type_isUsed = 0u; - dinRetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_dinNotificationType(struct dinNotificationType* dinNotificationType) { - dinNotificationType->FaultMsg_isUsed = 0u; -} - -void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType) { - dinPGPDataType->PGPKeyID_isUsed = 0u; - dinPGPDataType->PGPKeyPacket_isUsed = 0u; - dinPGPDataType->ANY_isUsed = 0u; -} - -void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - (void)dinCertificateInstallationResType; /* avoid unused warning */ -} - -void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType) { - dinSignaturePropertyType->Id_isUsed = 0u; - dinSignaturePropertyType->ANY_isUsed = 0u; -} - -void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType) { - dinMeterInfoType->MeterReading_isUsed = 0u; - dinMeterInfoType->SigMeterReading_isUsed = 0u; - dinMeterInfoType->MeterStatus_isUsed = 0u; - dinMeterInfoType->TMeter_isUsed = 0u; -} - -void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType) { - dinSubCertificatesType->Certificate.arrayLen = 0u; -} - - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/Port/vc2022/src/din/dinEXIDatatypes.h b/Port/vc2022/src/din/dinEXIDatatypes.h deleted file mode 100644 index d67d229..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypes.h +++ /dev/null @@ -1,2934 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_din_DATATYPES_H -#define EXI_din_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_DIN_CODEC SUPPORT_YES -#define DEPLOY_DIN_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define dinSPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID from unbounded to 5 (see #define dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define dinTransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define dinTransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define dinManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":PaymentOption from unbounded to 5 (see #define dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry from unbounded to 24 (see #define dinChargingProfileType_ProfileEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define dinSignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Certificate from unbounded to 5 (see #define dinSubCertificatesType_Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SelectedService from unbounded to 16 (see #define dinSelectedServiceListType_SelectedService_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define dinX509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define dinX509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define dinX509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define dinX509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define dinX509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Parameter from unbounded to 16 (see #define dinParameterSetType_Parameter_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Cost from unbounded to 5 (see #define dinConsumptionCostType_Cost_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Service from unbounded to 8 (see #define dinServiceTagListType_Service_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ParameterSet from unbounded to 5 (see #define dinServiceParameterListType_ParameterSet_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define dinKeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define dinKeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define dinKeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define dinKeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define dinKeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define dinKeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost from unbounded to 5 (see #define dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define dinSignatureType_Object_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple from unbounded to 5 (see #define dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) */ - - -typedef enum { - dinDC_EVSEStatusCodeType_EVSE_NotReady = 0, - dinDC_EVSEStatusCodeType_EVSE_Ready = 1, - dinDC_EVSEStatusCodeType_EVSE_Shutdown = 2, - dinDC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3, - dinDC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4, - dinDC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5, - dinDC_EVSEStatusCodeType_EVSE_Malfunction = 6, - dinDC_EVSEStatusCodeType_Reserved_8 = 7, - dinDC_EVSEStatusCodeType_Reserved_9 = 8, - dinDC_EVSEStatusCodeType_Reserved_A = 9, - dinDC_EVSEStatusCodeType_Reserved_B = 10, - dinDC_EVSEStatusCodeType_Reserved_C = 11 -} dinDC_EVSEStatusCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -#define dinSessionSetupReqType_EVCCID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evccIDType is 8 */ -struct dinSessionSetupReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":EVCCID, urn:iso:15118:2:2010:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[dinSessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - dinEVSEProcessingType_Finished = 0, - dinEVSEProcessingType_Ongoing = 1 -} dinEVSEProcessingType; - -/* 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 dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinCanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 dinSPKIDataType_SPKISexp_BYTES_SIZE 350 -#define dinSPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define dinSPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinSPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinSPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinSPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE 40 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType is 40 */ -#define dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5 -struct dinListOfRootCertificateIDsType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID, urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType */ - struct { - struct { - exi_string_character_t characters[dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 dinTransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinTransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinTransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinTransformType_XPath_ARRAY_SIZE 1 -struct dinTransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinTransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinTransformType_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 { - exi_string_character_t characters[dinTransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinTransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -typedef enum { - dinDC_EVErrorCodeType_NO_ERROR = 0, - dinDC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1, - dinDC_EVErrorCodeType_FAILED_EVShiftPosition = 2, - dinDC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3, - dinDC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4, - dinDC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5, - dinDC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6, - dinDC_EVErrorCodeType_Reserved_A = 7, - dinDC_EVErrorCodeType_Reserved_B = 8, - dinDC_EVErrorCodeType_Reserved_C = 9, - dinDC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10, - dinDC_EVErrorCodeType_NoData = 11 -} dinDC_EVErrorCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -#define dinContractAuthenticationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinContractAuthenticationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinContractAuthenticationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":GenChallenge, urn:iso:15118:2:2010:MsgDataTypes,genChallengeType */ - struct { - exi_string_character_t characters[dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - unsigned int GenChallenge_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVSEChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -struct dinRelativeTimeIntervalType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":start, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t start ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":duration, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t duration ; - unsigned int duration_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVStatusType { - int noContent; /* avoid warning */ -}; - -/* 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'. */ -#define dinDSAKeyValueType_P_BYTES_SIZE 350 -#define dinDSAKeyValueType_Q_BYTES_SIZE 350 -#define dinDSAKeyValueType_G_BYTES_SIZE 350 -#define dinDSAKeyValueType_Y_BYTES_SIZE 350 -#define dinDSAKeyValueType_J_BYTES_SIZE 350 -#define dinDSAKeyValueType_Seed_BYTES_SIZE 350 -#define dinDSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct dinDSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinSASchedulesType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinBodyBaseType { - int noContent; /* avoid warning */ -}; - -typedef enum { - dinunitSymbolType_h = 0, - dinunitSymbolType_m = 1, - dinunitSymbolType_s = 2, - dinunitSymbolType_A = 3, - dinunitSymbolType_Ah = 4, - dinunitSymbolType_V = 5, - dinunitSymbolType_VA = 6, - dinunitSymbolType_W = 7, - dinunitSymbolType_W_s = 8, - dinunitSymbolType_Wh = 9 -} dinunitSymbolType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinIntervalType { - int noContent; /* avoid warning */ -}; - -/* 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'. */ -#define dinTransformsType_Transform_ARRAY_SIZE 1 -struct dinTransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct dinTransformType array[dinTransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -struct dinEntryType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType 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:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct dinSessionStopType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -struct dinServiceDetailReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; -}; - -/* 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 dinDigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinDigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinDigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinDigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinDigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - dinvalueType_bool = 0, - dinvalueType_byte = 1, - dinvalueType_short = 2, - dinvalueType_int = 3, - dinvalueType_physicalValue = 4, - dinvalueType_string = 5 -} dinvalueType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct dinChargingStatusReqType { - int noContent; /* avoid warning */ -}; - -/* 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 dinSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinSignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinSignatureMethodType_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[dinSignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -#define dinCertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinCertificateInstallationReqType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -struct dinCertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateInstallationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - /* element: "urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateInstallationReqType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; -}; - -typedef enum { - dinEVRequestedEnergyTransferType_AC_single_phase_core = 0, - dinEVRequestedEnergyTransferType_AC_three_phase_core = 1, - dinEVRequestedEnergyTransferType_DC_core = 2, - dinEVRequestedEnergyTransferType_DC_extended = 3, - dinEVRequestedEnergyTransferType_DC_combo_core = 4, - dinEVRequestedEnergyTransferType_DC_unique = 5 -} dinEVRequestedEnergyTransferType; - -typedef enum { - dinpaymentOptionType_Contract = 0, - dinpaymentOptionType_ExternalPayment = 1 -} dinpaymentOptionType; - -typedef enum { - dinEVSESupportedEnergyTransferType_AC_single_phase_core = 0, - dinEVSESupportedEnergyTransferType_AC_three_phase_core = 1, - dinEVSESupportedEnergyTransferType_DC_core = 2, - dinEVSESupportedEnergyTransferType_DC_extended = 3, - dinEVSESupportedEnergyTransferType_DC_combo_core = 4, - dinEVSESupportedEnergyTransferType_DC_dual = 5, - dinEVSESupportedEnergyTransferType_AC_core1p_DC_extended = 6, - dinEVSESupportedEnergyTransferType_AC_single_DC_core = 7, - dinEVSESupportedEnergyTransferType_AC_single_phase_three_phase_core_DC_extended = 8, - dinEVSESupportedEnergyTransferType_AC_core3p_DC_extended = 9 -} dinEVSESupportedEnergyTransferType; - -/* 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 dinReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_DigestValue_BYTES_SIZE 350 -struct dinReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinReferenceType_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[dinReferenceType_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[dinReferenceType_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 dinTransformsType 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 dinDigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[dinReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -struct dinProfileEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t ChargingProfileEntryStart ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower, urn:iso:15118:2:2010:MsgDataTypes,PMaxType */ - int16_t ChargingProfileEntryMaxPower ; -}; - -/* 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 dinRSAKeyValueType_Modulus_BYTES_SIZE 350 -#define dinRSAKeyValueType_Exponent_BYTES_SIZE 350 -struct dinRSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinRSAKeyValueType_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[dinRSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -typedef enum { - dinfaultCodeType_ParsingError = 0, - dinfaultCodeType_NoTLSRootCertificatAvailable = 1, - dinfaultCodeType_UnknownError = 2 -} dinfaultCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVSEStatusType { - int noContent; /* avoid warning */ -}; - -typedef enum { - dinserviceCategoryType_EVCharging = 0, - dinserviceCategoryType_Internet = 1, - dinserviceCategoryType_ContractCertificate = 2, - dinserviceCategoryType_OtherCustom = 3 -} dinserviceCategoryType; - -typedef enum { - dinEVSENotificationType_None = 0, - dinEVSENotificationType_StopCharging = 1, - dinEVSENotificationType_ReNegotiation = 2 -} dinEVSENotificationType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVPowerDeliveryParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinX509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -struct dinSelectedServiceType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - unsigned int ParameterSetID_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -struct dinDC_EVStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVReady, http://www.w3.org/2001/XMLSchema,boolean */ - int EVReady ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning, http://www.w3.org/2001/XMLSchema,boolean */ - int EVCabinConditioning ; - unsigned int EVCabinConditioning_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning, http://www.w3.org/2001/XMLSchema,boolean */ - int EVRESSConditioning ; - unsigned int EVRESSConditioning_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode, urn:iso:15118:2:2010:MsgDataTypes,DC_EVErrorCodeType */ - dinDC_EVErrorCodeType EVErrorCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t EVRESSSOC ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -struct dinPhysicalValueType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Multiplier, urn:iso:15118:2:2010:MsgDataTypes,unitMultiplierType */ - int8_t Multiplier ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Unit, urn:iso:15118:2:2010:MsgDataTypes,unitSymbolType */ - dinunitSymbolType Unit ; - unsigned int Unit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ - int16_t Value ; -}; - -/* 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 dinManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinManifestType_Reference_ARRAY_SIZE 1 -struct dinManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinManifestType_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 dinReferenceType array[dinManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -typedef enum { - dincostKindType_relativePricePercentage = 0, - dincostKindType_RenewableGenerationPercentage = 1, - dincostKindType_CarbonDioxideEmission = 2 -} dincostKindType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -struct dinPMaxScheduleEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMax, urn:iso:15118:2:2010:MsgDataTypes,PMaxType */ - int16_t PMax ; -}; - -typedef enum { - dinisolationLevelType_Invalid = 0, - dinisolationLevelType_Valid = 1, - dinisolationLevelType_Warning = 2, - dinisolationLevelType_Fault = 3 -} dinisolationLevelType; - -/* 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 dinSignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignatureValueType_CONTENT_BYTES_SIZE 350 -struct dinSignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignatureValueType_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[dinSignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinPaymentOptionsType_PaymentOption_ARRAY_SIZE 5 -struct dinPaymentOptionsType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PaymentOption, urn:iso:15118:2:2010:MsgDataTypes,paymentOptionType */ - struct { - dinpaymentOptionType array[dinPaymentOptionsType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -#define dinServiceTagType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceNameType is 32 */ -#define dinServiceTagType_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -struct dinServiceTagType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceName, urn:iso:15118:2:2010:MsgDataTypes,serviceNameType */ - struct { - exi_string_character_t characters[dinServiceTagType_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - unsigned int ServiceName_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2010:MsgDataTypes,serviceCategoryType */ - dinserviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceScope, urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[dinServiceTagType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -struct dinAC_EVSEStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed, http://www.w3.org/2001/XMLSchema,boolean */ - int PowerSwitchClosed ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RCD, http://www.w3.org/2001/XMLSchema,boolean */ - int RCD ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSENotification, urn:iso:15118:2:2010:MsgDataTypes,EVSENotificationType */ - dinEVSENotificationType EVSENotification ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct dinChargingProfileType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ - struct { - struct dinProfileEntryType array[dinChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -#define dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -struct dinServiceDiscoveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceScope, urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceCategory, urn:iso:15118:2:2010:MsgDataTypes,serviceCategoryType */ - dinserviceCategoryType ServiceCategory ; - unsigned int ServiceCategory_isUsed:1; -}; - -typedef enum { - dinresponseCodeType_OK = 0, - dinresponseCodeType_OK_NewSessionEstablished = 1, - dinresponseCodeType_OK_OldSessionJoined = 2, - dinresponseCodeType_OK_CertificateExpiresSoon = 3, - dinresponseCodeType_FAILED = 4, - dinresponseCodeType_FAILED_SequenceError = 5, - dinresponseCodeType_FAILED_ServiceIDInvalid = 6, - dinresponseCodeType_FAILED_UnknownSession = 7, - dinresponseCodeType_FAILED_ServiceSelectionInvalid = 8, - dinresponseCodeType_FAILED_PaymentSelectionInvalid = 9, - dinresponseCodeType_FAILED_CertificateExpired = 10, - dinresponseCodeType_FAILED_SignatureError = 11, - dinresponseCodeType_FAILED_NoCertificateAvailable = 12, - dinresponseCodeType_FAILED_CertChainError = 13, - dinresponseCodeType_FAILED_ChallengeInvalid = 14, - dinresponseCodeType_FAILED_ContractCanceled = 15, - dinresponseCodeType_FAILED_WrongChargeParameter = 16, - dinresponseCodeType_FAILED_PowerDeliveryNotApplied = 17, - dinresponseCodeType_FAILED_TariffSelectionInvalid = 18, - dinresponseCodeType_FAILED_ChargingProfileInvalid = 19, - dinresponseCodeType_FAILED_EVSEPresentVoltageToLow = 20, - dinresponseCodeType_FAILED_MeteringSignatureNotValid = 21, - dinresponseCodeType_FAILED_WrongEnergyTransferType = 22 -} dinresponseCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -struct dinAC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxVoltage ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxCurrent ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinCurrent ; -}; - -/* 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 dinObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinObjectType_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[dinObjectType_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[dinObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[dinObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct dinSessionStopResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; -}; - -/* 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 dinSignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignedInfoType_Reference_ARRAY_SIZE 1 -struct dinSignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignedInfoType_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 dinCanonicalizationMethodType 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 dinSignatureMethodType 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 dinReferenceType array[dinSignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -struct dinCostType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":costKind, urn:iso:15118:2:2010:MsgDataTypes,costKindType */ - dincostKindType costKind ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":amount, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t amount ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier, urn:iso:15118:2:2010:MsgDataTypes,unitMultiplierType */ - int8_t amountMultiplier ; - unsigned int amountMultiplier_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -struct dinServiceChargeType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceTag, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ - struct dinServiceTagType ServiceTag ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType, urn:iso:15118:2:2010:MsgDataTypes,EVSESupportedEnergyTransferType */ - dinEVSESupportedEnergyTransferType EnergyTransferType ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -struct dinDC_EVSEStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2010:MsgDataTypes,isolationLevelType */ - dinisolationLevelType EVSEIsolationStatus ; - unsigned int EVSEIsolationStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusCodeType */ - dinDC_EVSEStatusCodeType EVSEStatusCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSENotification, urn:iso:15118:2:2010:MsgDataTypes,EVSENotificationType */ - dinEVSENotificationType EVSENotification ; -}; - -/* 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 dinRetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinRetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinRetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinRetrievalMethodType_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[dinRetrievalMethodType_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 dinTransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -#define dinNotificationType_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,faultMsgType is 64 */ -struct dinNotificationType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FaultCode, urn:iso:15118:2:2010:MsgDataTypes,faultCodeType */ - dinfaultCodeType FaultCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FaultMsg, urn:iso:15118:2:2010:MsgDataTypes,faultMsgType */ - struct { - exi_string_character_t characters[dinNotificationType_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - unsigned int FaultMsg_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 dinPGPDataType_PGPKeyID_BYTES_SIZE 350 -#define dinPGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define dinPGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinPGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[dinPGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[dinPGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinPGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 dinSignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinSignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignaturePropertyType_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[dinSignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -#define dinMeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,meterIDType is 32 */ -#define dinMeterInfoType_SigMeterReading_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType is 32 */ -struct dinMeterInfoType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterID, urn:iso:15118:2:2010:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[dinMeterInfoType_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterReading, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType MeterReading ; - unsigned int MeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading, urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType */ - struct { - uint8_t bytes[dinMeterInfoType_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - unsigned int SigMeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterStatus, urn:iso:15118:2:2010:MsgDataTypes,meterStatusType */ - int16_t MeterStatus ; - unsigned int MeterStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TMeter, http://www.w3.org/2001/XMLSchema,long */ - int64_t TMeter ; - unsigned int TMeter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSubCertificatesType_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinSubCertificatesType_Certificate_ARRAY_SIZE 5 -struct dinSubCertificatesType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Certificate, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[dinSubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinSubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -#define dinMeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinMeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -struct dinMeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinMeteringReceiptReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionID, urn:iso:15118:2:2010:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[dinMeteringReceiptReqType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* element: "urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - unsigned int SAScheduleTupleID_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct dinMeterInfoType MeterInfo ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -struct dinPowerDeliveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; - unsigned int AC_EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct dinWeldingDetectionResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct dinContractAuthenticationResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct dinSelectedServiceListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SelectedService, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinSelectedServiceType array[dinSelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -struct dinCurrentDemandResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentCurrent ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSECurrentLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEVoltageLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEPowerLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - unsigned int EVSEMaximumPowerLimit_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -struct dinAC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t DepartureTime ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EAmount, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EAmount ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaxVoltage ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaxCurrent ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMinCurrent ; -}; - -/* 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'. */ -#define dinX509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define dinX509DataType_X509SKI_BYTES_SIZE 350 -#define dinX509DataType_X509SKI_ARRAY_SIZE 1 -#define dinX509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinX509DataType_X509SubjectName_ARRAY_SIZE 1 -#define dinX509DataType_X509Certificate_BYTES_SIZE 350 -#define dinX509DataType_X509Certificate_ARRAY_SIZE 1 -#define dinX509DataType_X509CRL_BYTES_SIZE 350 -#define dinX509DataType_X509CRL_ARRAY_SIZE 1 -#define dinX509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinX509DataType { - /* 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 { - struct dinX509IssuerSerialType array[dinX509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinX509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinX509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinX509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -#define dinChargingStatusResType_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -struct dinChargingStatusResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEID, urn:iso:15118:2:2010:MsgDataTypes,evseIDType */ - struct { - uint8_t bytes[dinChargingStatusResType_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxCurrent ; - unsigned int EVSEMaxCurrent_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct dinMeterInfoType MeterInfo ; - unsigned int MeterInfo_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ - int ReceiptRequired ; - /* element: "urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct dinWeldingDetectionReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; -}; - -/* 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 dinSignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct dinSignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignaturePropertiesType_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 dinSignaturePropertyType array[dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -struct dinDC_EVPowerDeliveryParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct dinCableCheckReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -struct dinDC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVEnergyCapacity ; - unsigned int EVEnergyCapacity_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVEnergyRequest ; - unsigned int EVEnergyRequest_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FullSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t FullSOC ; - unsigned int FullSOC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":BulkSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t BulkSOC ; - unsigned int BulkSOC_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct dinPMaxScheduleType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t PMaxScheduleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ - struct { - struct dinPMaxScheduleEntryType array[dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -struct dinServicePaymentSelectionReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2010:MsgDataTypes,paymentOptionType */ - dinpaymentOptionType SelectedPaymentOption ; - /* element: "urn:iso:15118:2:2010:MsgBody":SelectedServiceList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSelectedServiceListType SelectedServiceList ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct dinPreChargeResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -struct dinDC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinimumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinimumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSECurrentRegulationTolerance ; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPeakCurrentRipple ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -#define dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinPaymentDetailsResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":GenChallenge, urn:iso:15118:2:2010:MsgDataTypes,genChallengeType */ - struct { - exi_string_character_t characters[dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - /* element: "urn:iso:15118:2:2010:MsgBody":DateTimeNow, http://www.w3.org/2001/XMLSchema,long */ - int64_t DateTimeNow ; -}; - -/* 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 dinKeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinKeyValueType { - /* 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 dinDSAKeyValueType 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 dinRSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinKeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -struct dinPowerDeliveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ReadyToChargeState, http://www.w3.org/2001/XMLSchema,boolean */ - int ReadyToChargeState ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingProfile, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinChargingProfileType ChargingProfile ; - unsigned int ChargingProfile_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - unsigned int EVPowerDeliveryParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -#define dinCertificateChainType_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -struct dinCertificateChainType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Certificate, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[dinCertificateChainType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SubCertificates, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSubCertificatesType SubCertificates ; - unsigned int SubCertificates_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -#define dinParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[dinParameterType_Name_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Name ; - /* attribute: ValueType {urn:iso:15118:2:2010:MsgDataTypes,valueType} */ - dinvalueType ValueType ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":boolValue, http://www.w3.org/2001/XMLSchema,boolean */ - int boolValue ; - unsigned int boolValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":byteValue, http://www.w3.org/2001/XMLSchema,byte */ - int8_t byteValue ; - unsigned int byteValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":shortValue, http://www.w3.org/2001/XMLSchema,short */ - int16_t shortValue ; - unsigned int shortValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":intValue, http://www.w3.org/2001/XMLSchema,int */ - int32_t intValue ; - unsigned int intValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":physicalValue, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType physicalValue ; - unsigned int physicalValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":stringValue, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[dinParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinParameterSetType_Parameter_ARRAY_SIZE 16 -struct dinParameterSetType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Parameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ - struct { - struct dinParameterType array[dinParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -struct dinCurrentDemandReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetCurrent ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumVoltageLimit ; - unsigned int EVMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumCurrentLimit ; - unsigned int EVMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; - /* element: "urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType RemainingTimeToFullSoC ; - unsigned int RemainingTimeToFullSoC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType RemainingTimeToBulkSoC ; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -struct dinPreChargeReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetVoltage ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetCurrent ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -struct dinChargeParameterDiscoveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType, urn:iso:15118:2:2010:MsgDataTypes,EVRequestedEnergyTransferType */ - dinEVRequestedEnergyTransferType EVRequestedEnergyTransferType ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVChargeParameterType EVChargeParameter ; - unsigned int EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - unsigned int AC_EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - unsigned int DC_EVChargeParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinConsumptionCostType_Cost_ARRAY_SIZE 5 -struct dinConsumptionCostType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":startValue, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t startValue ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Cost, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinCostType array[dinConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -struct dinServiceType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceTag, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ - struct dinServiceTagType ServiceTag ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinServiceTagListType_Service_ARRAY_SIZE 8 -struct dinServiceTagListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Service, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ - struct { - struct dinServiceType array[dinServiceTagListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -#define dinSessionSetupResType_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -struct dinSessionSetupResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEID, urn:iso:15118:2:2010:MsgDataTypes,evseIDType */ - struct { - uint8_t bytes[dinSessionSetupResType_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2010:MsgBody":DateTimeNow, http://www.w3.org/2001/XMLSchema,long */ - int64_t DateTimeNow ; - unsigned int DateTimeNow_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -struct dinMeteringReceiptResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct dinServiceParameterListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSet, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct { - struct dinParameterSetType array[dinServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -#define dinCertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -#define dinCertificateUpdateReqType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -struct dinCertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateUpdateReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateUpdateReqType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct dinServicePaymentSelectionResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; -}; - -/* 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'. */ -#define dinKeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_KeyName_ARRAY_SIZE 1 -#define dinKeyInfoType_KeyValue_ARRAY_SIZE 1 -#define dinKeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define dinKeyInfoType_X509Data_ARRAY_SIZE 1 -#define dinKeyInfoType_PGPData_ARRAY_SIZE 1 -#define dinKeyInfoType_SPKIData_ARRAY_SIZE 1 -#define dinKeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_MgmtData_ARRAY_SIZE 1 -#define dinKeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinKeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinKeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinKeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinKeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct dinKeyValueType array[dinKeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct dinRetrievalMethodType array[dinKeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct dinX509DataType array[dinKeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct dinPGPDataType array[dinKeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct dinSPKIDataType array[dinKeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinKeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinKeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinKeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -#define dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinPaymentDetailsReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct dinCableCheckResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -#define dinCertificateInstallationResType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinCertificateInstallationResType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinCertificateInstallationResType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateInstallationResType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey, urn:iso:15118:2:2010:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateInstallationResType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -struct dinServiceDetailResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceParameterList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -#define dinCertificateUpdateResType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinCertificateUpdateResType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinCertificateUpdateResType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateUpdateResType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey, urn:iso:15118:2:2010:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateUpdateResType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":RetryCounter, http://www.w3.org/2001/XMLSchema,short */ - int16_t RetryCounter ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -#define dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 5 -struct dinSalesTariffEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t EPriceLevel ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct { - struct dinConsumptionCostType array[dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -struct dinServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentOptions, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinPaymentOptionsType PaymentOptions ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeService, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ - struct dinServiceChargeType ChargeService ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinServiceTagListType ServiceList ; - unsigned int ServiceList_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'. */ -#define dinSignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignatureType_Object_ARRAY_SIZE 1 -struct dinSignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct dinSignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct dinSignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct dinKeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct dinObjectType array[dinSignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType is 32 */ -#define dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct dinSalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinSalesTariffType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SalesTariffID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription, urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType */ - struct { - exi_string_character_t characters[dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - unsigned int SalesTariffDescription_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t NumEPriceLevels ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ - struct { - struct dinSalesTariffEntryType array[dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -#define dinMessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -struct dinMessageHeaderType { - /* element: "urn:iso:15118:2:2010:MsgHeader":SessionID, urn:iso:15118:2:2010:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[dinMessageHeaderType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* element: "urn:iso:15118:2:2010:MsgHeader":Notification, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ - struct dinNotificationType 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 dinSignatureType Signature ; - unsigned int Signature_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -struct dinSAScheduleTupleType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinPMaxScheduleType PMaxSchedule ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariff, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSalesTariffType SalesTariff ; - unsigned int SalesTariff_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -#define dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE 5 -struct dinSAScheduleListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinSAScheduleTupleType array[dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE]; - uint16_t arrayLen; - } SAScheduleTuple; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -struct dinChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SASchedules, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinSASchedulesType SASchedules ; - unsigned int SASchedules_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ - struct dinSAScheduleListType SAScheduleList ; - unsigned int SAScheduleList_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVSEChargeParameterType EVSEChargeParameter ; - unsigned int EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - unsigned int AC_EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - unsigned int DC_EVSEChargeParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -struct dinBodyType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2010:MsgDef":BodyElement, Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinBodyBaseType BodyElement ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionSetupReq, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ - struct dinSessionSetupReqType SessionSetupReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionSetupRes, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ - struct dinSessionSetupResType SessionSetupRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDiscoveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDiscoveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDetailReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ - struct dinServiceDetailReqType ServiceDetailReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDetailRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDetailResType ServiceDetailRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServicePaymentSelectionReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServicePaymentSelectionRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentDetailsReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ - struct dinPaymentDetailsReqType PaymentDetailsReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentDetailsRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ - struct dinPaymentDetailsResType PaymentDetailsRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractAuthenticationReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractAuthenticationRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct dinContractAuthenticationResType ContractAuthenticationRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeParameterDiscoveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeParameterDiscoveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PowerDeliveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ - struct dinPowerDeliveryReqType PowerDeliveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PowerDeliveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinPowerDeliveryResType PowerDeliveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingStatusReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct dinChargingStatusReqType ChargingStatusReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingStatusRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinChargingStatusResType ChargingStatusRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":MeteringReceiptReq, Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ - struct dinMeteringReceiptReqType MeteringReceiptReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinMeteringReceiptResType MeteringReceiptRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionStopReq, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct dinSessionStopType SessionStopReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct dinSessionStopResType SessionStopRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateUpdateReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ - struct dinCertificateUpdateReqType CertificateUpdateReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateUpdateRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ - struct dinCertificateUpdateResType CertificateUpdateRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateInstallationReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ - struct dinCertificateInstallationReqType CertificateInstallationReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateInstallationRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ - struct dinCertificateInstallationResType CertificateInstallationRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct dinCableCheckReqType CableCheckReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CableCheckRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct dinCableCheckResType CableCheckRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PreChargeReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ - struct dinPreChargeReqType PreChargeReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PreChargeRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ - struct dinPreChargeResType PreChargeRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CurrentDemandReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ - struct dinCurrentDemandReqType CurrentDemandReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CurrentDemandRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ - struct dinCurrentDemandResType CurrentDemandRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct dinWeldingDetectionReqType WeldingDetectionReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":WeldingDetectionRes, Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ - struct dinWeldingDetectionResType WeldingDetectionRes ; -#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 ServicePaymentSelectionReq_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_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 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 WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -struct dinAnonType_V2G_Message { - /* element: "urn:iso:15118:2:2010:MsgDef":Header, Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ - struct dinMessageHeaderType Header ; - /* element: "urn:iso:15118:2:2010:MsgDef":Body, Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ - struct dinBodyType Body ; -}; - - - -#define dinEXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIDocument_DigestValue_BYTES_SIZE 350 -#define dinEXIFragment_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinEXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_OEMProvisioningCert_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinEXIFragment_Exponent_BYTES_SIZE 350 -#define dinEXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -#define dinEXIFragment_PgenCounter_BYTES_SIZE 350 -#define dinEXIFragment_EVCCID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evccIDType is 8 */ -#define dinEXIFragment_RootCertificateID_CHARACTERS_SIZE 40 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType is 40 */ -#define dinEXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define dinEXIFragment_Seed_BYTES_SIZE 350 -#define dinEXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -#define dinEXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_P_BYTES_SIZE 350 -#define dinEXIFragment_Q_BYTES_SIZE 350 -#define dinEXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_G_BYTES_SIZE 350 -#define dinEXIFragment_J_BYTES_SIZE 350 -#define dinEXIFragment_X509CRL_BYTES_SIZE 350 -#define dinEXIFragment_Y_BYTES_SIZE 350 -#define dinEXIFragment_DigestValue_BYTES_SIZE 350 -#define dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinEXIFragment_SPKISexp_BYTES_SIZE 350 -#define dinEXIFragment_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinEXIFragment_PGPKeyID_BYTES_SIZE 350 -#define dinEXIFragment_X509Certificate_BYTES_SIZE 350 -#define dinEXIFragment_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceNameType is 32 */ -#define dinEXIFragment_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -#define dinEXIFragment_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -#define dinEXIFragment_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType is 32 */ -#define dinEXIFragment_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,faultMsgType is 64 */ -#define dinEXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_SigMeterReading_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType is 32 */ -#define dinEXIFragment_X509SKI_BYTES_SIZE 350 -#define dinEXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,meterIDType is 32 */ -#define dinEXIFragment_Modulus_BYTES_SIZE 350 - - -/* Global elements of EXI Document */ -struct dinEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct dinBodyBaseType BodyElement ; - struct dinAnonType_V2G_Message V2G_Message ; - struct dinSignaturePropertyType SignatureProperty ; - struct dinDSAKeyValueType DSAKeyValue ; - struct dinSignaturePropertiesType SignatureProperties ; - struct dinKeyValueType KeyValue ; - struct dinTransformsType Transforms ; - struct dinDigestMethodType DigestMethod ; - struct dinSignatureType Signature ; - struct dinRetrievalMethodType RetrievalMethod ; - struct dinManifestType Manifest ; - struct dinReferenceType Reference ; - struct dinCanonicalizationMethodType CanonicalizationMethod ; - struct dinRSAKeyValueType RSAKeyValue ; - struct dinTransformType Transform ; - struct dinPGPDataType PGPData ; - struct { - exi_string_character_t characters[dinEXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct dinSignatureMethodType SignatureMethod ; - struct dinKeyInfoType KeyInfo ; - struct dinSPKIDataType SPKIData ; - struct dinX509DataType X509Data ; - struct dinSignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[dinEXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[dinEXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct dinSignedInfoType SignedInfo ; - struct dinObjectType Object ; - struct dinDC_EVSEStatusType DC_EVSEStatus ; - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - struct dinSalesTariffEntryType SalesTariffEntry ; - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct dinSASchedulesType SASchedules ; - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - struct dinSAScheduleListType SAScheduleList ; - struct dinDC_EVStatusType DC_EVStatus ; - struct dinServiceChargeType ServiceCharge ; - struct dinEVStatusType EVStatus ; - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct dinEVSEStatusType EVSEStatus ; - struct dinIntervalType TimeInterval ; - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct dinEVSEChargeParameterType EVSEChargeParameter ; - struct dinAC_EVSEStatusType AC_EVSEStatus ; - struct dinEntryType Entry ; - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct dinPMaxScheduleEntryType PMaxScheduleEntry ; - struct dinEVChargeParameterType EVChargeParameter ; - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - struct dinMeteringReceiptReqType MeteringReceiptReq ; - struct dinPaymentDetailsReqType PaymentDetailsReq ; - struct dinMeteringReceiptResType MeteringReceiptRes ; - struct dinPaymentDetailsResType PaymentDetailsRes ; - struct dinSessionSetupReqType SessionSetupReq ; - struct dinSessionSetupResType SessionSetupRes ; - struct dinCableCheckReqType CableCheckReq ; - struct dinCableCheckResType CableCheckRes ; - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - struct dinCertificateInstallationReqType CertificateInstallationReq ; - struct dinContractAuthenticationResType ContractAuthenticationRes ; - struct dinCertificateInstallationResType CertificateInstallationRes ; - struct dinWeldingDetectionReqType WeldingDetectionReq ; - struct dinWeldingDetectionResType WeldingDetectionRes ; - struct dinCertificateUpdateReqType CertificateUpdateReq ; - struct dinCertificateUpdateResType CertificateUpdateRes ; - struct dinPowerDeliveryReqType PowerDeliveryReq ; - struct dinPowerDeliveryResType PowerDeliveryRes ; - struct dinChargingStatusReqType ChargingStatusReq ; - struct dinChargingStatusResType ChargingStatusRes ; - struct dinCurrentDemandReqType CurrentDemandReq ; - struct dinPreChargeReqType PreChargeReq ; - struct dinCurrentDemandResType CurrentDemandRes ; - struct dinPreChargeResType PreChargeRes ; - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - struct dinSessionStopType SessionStopReq ; - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - struct dinSessionStopResType SessionStopRes ; - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct dinServiceDetailReqType ServiceDetailReq ; - struct dinServiceDetailResType ServiceDetailRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int BodyElement_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int DC_EVSEStatus_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 AC_EVChargeParameter_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int ServiceCharge_isUsed:1; - unsigned int EVStatus_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 AC_EVSEChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int ServicePaymentSelectionReq_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct dinEXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - dinunitSymbolType Unit ; - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - int16_t ChargingProfileEntryMaxPower ; - int64_t TMeter ; - int EVSEPowerLimitAchieved ; - uint32_t duration ; - struct dinPhysicalValueType EVMaximumCurrentLimit ; - struct dinParameterType Parameter ; - dinEVSEProcessingType EVSEProcessing ; - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - struct dinPMaxScheduleEntryType PMaxScheduleEntry ; - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - struct dinSelectedServiceType SelectedService ; - struct { - uint8_t bytes[dinEXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - int EVReady ; - int64_t X509SerialNumber ; - struct dinRetrievalMethodType RetrievalMethod ; - int16_t RetryCounter ; - struct dinDC_EVSEStatusType DC_EVSEStatus ; - struct dinMeteringReceiptReqType MeteringReceiptReq ; - int ReadyToChargeState ; - int8_t Multiplier ; - uint8_t EPriceLevel ; - struct { - exi_string_character_t characters[dinEXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - struct dinTransformsType Transforms ; - struct dinMeteringReceiptResType MeteringReceiptRes ; - struct dinPreChargeReqType PreChargeReq ; - struct { - uint8_t bytes[dinEXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - dinresponseCodeType ResponseCode ; - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - struct dinCertificateChainType ContractSignatureCertChain ; - struct dinContractAuthenticationResType ContractAuthenticationRes ; - int64_t HMACOutputLength ; - int BulkChargingComplete ; - struct { - uint8_t bytes[dinEXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct dinDC_EVStatusType DC_EVStatus ; - struct dinSAScheduleTupleType SAScheduleTuple ; - uint32_t DepartureTime ; - struct dinX509IssuerSerialType X509IssuerSerial ; - int16_t SAScheduleTupleID ; - struct dinSPKIDataType SPKIData ; - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - struct dinPhysicalValueType EVEnergyRequest ; - struct dinPreChargeResType PreChargeRes ; - struct { - uint8_t bytes[dinEXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct dinPMaxScheduleType PMaxSchedule ; - struct dinServiceChargeType ServiceCharge ; - struct { - uint8_t bytes[dinEXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct dinChargingStatusReqType ChargingStatusReq ; - struct dinX509DataType X509Data ; - struct dinSalesTariffEntryType SalesTariffEntry ; - struct dinKeyValueType KeyValue ; - struct dinChargingStatusResType ChargingStatusRes ; - struct dinAnonType_V2G_Message V2G_Message ; - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - dinisolationLevelType EVSEIsolationStatus ; - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - struct dinPhysicalValueType EVSEPresentVoltage ; - struct dinBodyBaseType BodyElement ; - struct { - uint8_t bytes[dinEXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct dinPGPDataType PGPData ; - struct { - exi_string_character_t characters[dinEXIFragment_RootCertificateID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } RootCertificateID ; - dinfaultCodeType FaultCode ; - struct dinCableCheckReqType CableCheckReq ; - int EVSEVoltageLimitAchieved ; - int EVRESSConditioning ; - struct dinMeterInfoType MeterInfo ; - struct dinCableCheckResType CableCheckRes ; - uint32_t ChargingProfileEntryStart ; - struct dinSignaturePropertyType SignatureProperty ; - struct dinPhysicalValueType EVMaxCurrent ; - struct { - uint8_t bytes[dinEXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct { - uint8_t bytes[dinEXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct dinRSAKeyValueType RSAKeyValue ; - dincostKindType costKind ; - struct dinPhysicalValueType EAmount ; - struct dinPhysicalValueType EVSEPresentCurrent ; - struct dinPowerDeliveryResType PowerDeliveryRes ; - uint8_t NumEPriceLevels ; - struct dinSessionStopResType SessionStopRes ; - struct dinPowerDeliveryReqType PowerDeliveryReq ; - struct dinSessionStopType SessionStopReq ; - struct { - exi_string_character_t characters[dinEXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - int8_t BulkSOC ; - int16_t PMax ; - int16_t ParameterSetID ; - struct { - exi_string_character_t characters[dinEXIFragment_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - struct dinSignatureType Signature ; - struct dinPhysicalValueType EVMaxVoltage ; - int ReceiptRequired ; - int ChargingComplete ; - struct dinChargingProfileType ChargingProfile ; - struct dinPaymentOptionsType PaymentOptions ; - struct dinSessionSetupResType SessionSetupRes ; - struct dinServiceDetailResType ServiceDetailRes ; - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct dinPaymentDetailsResType PaymentDetailsRes ; - struct dinPaymentDetailsReqType PaymentDetailsReq ; - struct { - exi_string_character_t characters[dinEXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - int16_t Value ; - dinEVSENotificationType EVSENotification ; - struct dinPhysicalValueType EVTargetCurrent ; - struct dinPhysicalValueType RemainingTimeToBulkSoC ; - struct dinSessionSetupReqType SessionSetupReq ; - int EVSECurrentLimitAchieved ; - struct dinServiceDetailReqType ServiceDetailReq ; - int8_t byteValue ; - struct dinPhysicalValueType EVMaximumPowerLimit ; - int PowerSwitchClosed ; - struct dinManifestType Manifest ; - struct { - uint8_t bytes[dinEXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct dinSAScheduleListType SAScheduleList ; - struct { - uint8_t bytes[dinEXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[dinEXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[dinEXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[dinEXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct dinCertificateInstallationResType CertificateInstallationRes ; - struct dinCertificateInstallationReqType CertificateInstallationReq ; - struct dinSalesTariffType SalesTariff ; - struct dinMessageHeaderType Header ; - struct dinPhysicalValueType EVSEMinimumCurrentLimit ; - struct { - uint8_t bytes[dinEXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct { - uint8_t bytes[dinEXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct { - uint8_t bytes[dinEXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - struct { - uint8_t bytes[dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - struct dinDigestMethodType DigestMethod ; - struct { - uint8_t bytes[dinEXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct dinServiceChargeType ChargeService ; - struct dinPhysicalValueType EVSEEnergyToBeDelivered ; - struct dinSignaturePropertiesType SignatureProperties ; - struct dinPhysicalValueType EVSEMaxCurrent ; - struct dinEVSEStatusType EVSEStatus ; - struct dinServiceType Service ; - struct { - uint8_t bytes[dinEXIFragment_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - struct { - uint8_t bytes[dinEXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct dinDSAKeyValueType DSAKeyValue ; - dinEVSESupportedEnergyTransferType EnergyTransferType ; - struct dinWeldingDetectionResType WeldingDetectionRes ; - int FreeService ; - struct dinSelectedServiceListType SelectedServiceList ; - struct dinWeldingDetectionReqType WeldingDetectionReq ; - struct dinPhysicalValueType EVTargetVoltage ; - struct dinCanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[dinEXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct dinCertificateUpdateResType CertificateUpdateRes ; - struct dinCertificateUpdateReqType CertificateUpdateReq ; - struct dinPhysicalValueType EVSEMaxVoltage ; - struct dinSignedInfoType SignedInfo ; - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct dinPhysicalValueType EVEnergyCapacity ; - uint16_t ServiceID ; - struct dinPhysicalValueType EVSECurrentRegulationTolerance ; - struct dinServiceParameterListType ServiceParameterList ; - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct dinProfileEntryType ProfileEntry ; - struct dinPhysicalValueType EVSEMinimumVoltageLimit ; - struct dinCurrentDemandResType CurrentDemandRes ; - int8_t EVRESSSOC ; - struct dinPhysicalValueType MeterReading ; - struct dinCurrentDemandReqType CurrentDemandReq ; - struct dinPhysicalValueType physicalValue ; - struct dinIntervalType TimeInterval ; - struct dinAC_EVSEStatusType AC_EVSEStatus ; - struct dinPhysicalValueType EVMaximumVoltageLimit ; - struct dinSignatureValueType SignatureValue ; - int64_t DateTimeNow ; - struct dinServiceTagType ServiceTag ; - int32_t intValue ; - dinpaymentOptionType SelectedPaymentOption ; - struct { - exi_string_character_t characters[dinEXIFragment_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - int EVCabinConditioning ; - struct { - uint8_t bytes[dinEXIFragment_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - struct { - exi_string_character_t characters[dinEXIFragment_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - int16_t MeterStatus ; - dinEVRequestedEnergyTransferType EVRequestedEnergyTransferType ; - dinserviceCategoryType ServiceCategory ; - struct { - exi_string_character_t characters[dinEXIFragment_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - struct { - exi_string_character_t characters[dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - uint32_t NotificationMaxDelay ; - int boolValue ; - dinDC_EVSEStatusCodeType EVSEStatusCode ; - struct { - exi_string_character_t characters[dinEXIFragment_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - struct { - exi_string_character_t characters[dinEXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct dinParameterSetType ParameterSet ; - struct { - uint8_t bytes[dinEXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - struct dinEVSEChargeParameterType EVSEChargeParameter ; - struct dinBodyType Body ; - struct dinSASchedulesType SASchedules ; - struct dinKeyInfoType KeyInfo ; - int16_t PMaxScheduleID ; - struct dinPhysicalValueType RemainingTimeToFullSoC ; - struct dinEVStatusType EVStatus ; - struct dinSubCertificatesType SubCertificates ; - dinpaymentOptionType PaymentOption ; - struct { - uint8_t bytes[dinEXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct dinServiceTagListType ServiceList ; - struct dinCostType Cost ; - struct dinSignatureMethodType SignatureMethod ; - struct dinPhysicalValueType EVSEMinCurrent ; - struct dinConsumptionCostType ConsumptionCost ; - struct dinPhysicalValueType EVSEPeakCurrentRipple ; - dinDC_EVErrorCodeType EVErrorCode ; - struct dinEVChargeParameterType EVChargeParameter ; - uint32_t start ; - struct { - exi_string_character_t characters[dinEXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct dinReferenceType Reference ; - struct dinPhysicalValueType EVMinCurrent ; - int8_t FullSOC ; - uint32_t amount ; - int16_t shortValue ; - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct dinEntryType Entry ; - int16_t SalesTariffID ; - struct { - exi_string_character_t characters[dinEXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - int8_t amountMultiplier ; - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct dinTransformType Transform ; - struct dinObjectType Object ; - int RCD ; - struct dinNotificationType Notification ; - uint32_t startValue ; - struct { - uint8_t bytes[dinEXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int Unit_isUsed:1; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int ChargingProfileEntryMaxPower_isUsed:1; - unsigned int TMeter_isUsed:1; - unsigned int EVSEPowerLimitAchieved_isUsed:1; - unsigned int duration_isUsed:1; - unsigned int EVMaximumCurrentLimit_isUsed:1; - unsigned int Parameter_isUsed:1; - unsigned int EVSEProcessing_isUsed:1; - unsigned int AC_EVChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - unsigned int SelectedService_isUsed:1; - unsigned int Certificate_isUsed:1; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - unsigned int EVReady_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int RetryCounter_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int ReadyToChargeState_isUsed:1; - unsigned int Multiplier_isUsed:1; - unsigned int EPriceLevel_isUsed:1; - unsigned int stringValue_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int OEMProvisioningCert_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int ResponseCode_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int ContractSignatureCertChain_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int SAScheduleTuple_isUsed:1; - unsigned int DepartureTime_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; - unsigned int EVEnergyRequest_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int SessionID_isUsed:1; - unsigned int PMaxSchedule_isUsed:1; - unsigned int ServiceCharge_isUsed:1; - unsigned int PgenCounter_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SalesTariffEntry_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int ServicePaymentSelectionReq_isUsed:1; - unsigned int EVSEIsolationStatus_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int EVSEPresentVoltage_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int EVCCID_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int RootCertificateID_isUsed:1; - unsigned int FaultCode_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int EVSEVoltageLimitAchieved_isUsed:1; - unsigned int EVRESSConditioning_isUsed:1; - unsigned int MeterInfo_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int ChargingProfileEntryStart_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int EVMaxCurrent_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int costKind_isUsed:1; - unsigned int EAmount_isUsed:1; - unsigned int EVSEPresentCurrent_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int NumEPriceLevels_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int BulkSOC_isUsed:1; - unsigned int PMax_isUsed:1; - unsigned int ParameterSetID_isUsed:1; - unsigned int ContractID_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int EVMaxVoltage_isUsed:1; - unsigned int ReceiptRequired_isUsed:1; - unsigned int ChargingComplete_isUsed:1; - unsigned int ChargingProfile_isUsed:1; - unsigned int PaymentOptions_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int Value_isUsed:1; - unsigned int EVSENotification_isUsed:1; - unsigned int EVTargetCurrent_isUsed:1; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int EVSECurrentLimitAchieved_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int byteValue_isUsed:1; - unsigned int EVMaximumPowerLimit_isUsed:1; - unsigned int PowerSwitchClosed_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int P_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int SalesTariff_isUsed:1; - unsigned int Header_isUsed:1; - unsigned int EVSEMinimumCurrentLimit_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int ChargeService_isUsed:1; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int EVSEMaxCurrent_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int Service_isUsed:1; - unsigned int DHParams_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int EnergyTransferType_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int FreeService_isUsed:1; - unsigned int SelectedServiceList_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int EVTargetVoltage_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int EVSEMaxVoltage_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int AC_EVSEChargeParameter_isUsed:1; - unsigned int EVEnergyCapacity_isUsed:1; - unsigned int ServiceID_isUsed:1; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - unsigned int ServiceParameterList_isUsed:1; - unsigned int ListOfRootCertificateIDs_isUsed:1; - unsigned int ProfileEntry_isUsed:1; - unsigned int EVSEMinimumVoltageLimit_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int EVRESSSOC_isUsed:1; - unsigned int MeterReading_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int physicalValue_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int EVMaximumVoltageLimit_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int DateTimeNow_isUsed:1; - unsigned int ServiceTag_isUsed:1; - unsigned int intValue_isUsed:1; - unsigned int SelectedPaymentOption_isUsed:1; - unsigned int ServiceName_isUsed:1; - unsigned int EVCabinConditioning_isUsed:1; - unsigned int EVSEID_isUsed:1; - unsigned int ServiceScope_isUsed:1; - unsigned int MeterStatus_isUsed:1; - unsigned int EVRequestedEnergyTransferType_isUsed:1; - unsigned int ServiceCategory_isUsed:1; - unsigned int GenChallenge_isUsed:1; - unsigned int SalesTariffDescription_isUsed:1; - unsigned int NotificationMaxDelay_isUsed:1; - unsigned int boolValue_isUsed:1; - unsigned int EVSEStatusCode_isUsed:1; - unsigned int FaultMsg_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int ParameterSet_isUsed:1; - unsigned int SigMeterReading_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; - unsigned int Body_isUsed:1; - unsigned int SASchedules_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int PMaxScheduleID_isUsed:1; - unsigned int RemainingTimeToFullSoC_isUsed:1; - unsigned int EVStatus_isUsed:1; - unsigned int SubCertificates_isUsed:1; - unsigned int PaymentOption_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int ServiceList_isUsed:1; - unsigned int Cost_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int EVSEMinCurrent_isUsed:1; - unsigned int ConsumptionCost_isUsed:1; - unsigned int EVSEPeakCurrentRipple_isUsed:1; - unsigned int EVErrorCode_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int start_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int EVMinCurrent_isUsed:1; - unsigned int FullSOC_isUsed:1; - unsigned int amount_isUsed:1; - unsigned int shortValue_isUsed:1; - unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int Entry_isUsed:1; - unsigned int SalesTariffID_isUsed:1; - unsigned int MeterID_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int amountMultiplier_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int RCD_isUsed:1; - unsigned int Notification_isUsed:1; - unsigned int startValue_isUsed:1; - unsigned int Modulus_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_dinEXIDocument(struct dinEXIDocument* exiDoc); -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -void init_dinEXIFragment(struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ -void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -void init_dinBodyType(struct dinBodyType* dinBodyType); -void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType); -void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType); -void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType); -void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType); -void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType); -void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType); -void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType); -void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType); -void init_dinTransformType(struct dinTransformType* dinTransformType); -void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -void init_dinX509DataType(struct dinX509DataType* dinX509DataType); -void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType); -void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType); -void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType); -void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType); -void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType); -void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType); -void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType); -void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType); -void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType); -void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType); -void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType); -void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType); -void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType); -void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType); -void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType); -void init_dinIntervalType(struct dinIntervalType* dinIntervalType); -void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType); -void init_dinTransformsType(struct dinTransformsType* dinTransformsType); -void init_dinEntryType(struct dinEntryType* dinEntryType); -void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType); -void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType); -void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType); -void init_dinParameterType(struct dinParameterType* dinParameterType); -void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType); -void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType); -void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType); -void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType); -void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType); -void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType); -void init_dinSignatureType(struct dinSignatureType* dinSignatureType); -void init_dinReferenceType(struct dinReferenceType* dinReferenceType); -void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType); -void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType); -void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType); -void init_dinServiceType(struct dinServiceType* dinServiceType); -void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType); -void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType); -void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType); -void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType); -void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType); -void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType); -void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType); -void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType); -void init_dinManifestType(struct dinManifestType* dinManifestType); -void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType); -void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType); -void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType); -void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType); -void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType); -void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType); -void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType); -void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType); -void init_dinObjectType(struct dinObjectType* dinObjectType); -void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType); -void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType); -void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType); -void init_dinCostType(struct dinCostType* dinCostType); -void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType); -void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType); -void init_dinNotificationType(struct dinNotificationType* dinNotificationType); -void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType); -void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType); -void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType); -void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType); -void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType); - - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/din/dinEXIDatatypesDecoder.c b/Port/vc2022/src/din/dinEXIDatatypesDecoder.c deleted file mode 100644 index 3246f19..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypesDecoder.c +++ /dev/null @@ -1,17065 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "dinEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "dinEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_din_DATATYPES_DECODER_C -#define EXI_din_DATATYPES_DECODER_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -static int decode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType); -static int decode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType); -static int decode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType); -static int decode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType); -static int decode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType); -static int decode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType); -static int decode_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -static int decode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType); -static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -static int decode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType); -static int decode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType); -static int decode_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType); -static int decode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -static int decode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType); -static int decode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType); -static int decode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -static int decode_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType); -static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -static int decode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -static int decode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -static int decode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType); -static int decode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -static int decode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType); -static int decode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType); -static int decode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -static int decode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -static int decode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType); -static int decode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType); -static int decode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -static int decode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType); -static int decode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType); -static int decode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType); -static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType); -static int decode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType); -static int decode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType); -static int decode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType); -static int decode_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType); -static int decode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType); -static int decode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -static int decode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -static int decode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType); -static int decode_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType); -static int decode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType); -static int decode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType); -static int decode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType); -static int decode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType); -static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType); -static int decode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType); -static int decode_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType); -static int decode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -static int decode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType); -static int decode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -static int decode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType); -static int decode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType); -static int decode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType); -static int decode_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType); -static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType); -static int decode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType); -static int decode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -static int decode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -static int decode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType); -static int decode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType); -static int decode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType); -static int decode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType); -static int decode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType); -static int decode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType); -static int decode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -static int decode_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType); -static int decode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType); -static int decode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType); -static int decode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType); -static int decode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType); -static int decode_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType); -static int decode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -static int decode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType); -static int decode_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType); -static int decode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType); -static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType); -static int decode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -static int decode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -static int decode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType); -static int decode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType); -static int decode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -static int decode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType); -static int decode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -static int decode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType); -static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType); -static int decode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType); -static int decode_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType); -static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType); -static int decode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType); -static int decode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType); -static int decode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -static int decode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType); -static int decode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType); -static int decode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType); -static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType); -static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType); -static int decode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType); -static int decode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int decode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - int grammarID = 0; - int done = 0; - - init_dinMeteringReceiptReqType(dinMeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinMeteringReceiptReqType->Id.charactersLen); - 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, dinMeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinMeteringReceiptReqType->Id_isUsed = 1u; - grammarID = 1; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMeteringReceiptReqType->SessionID.bytesLen) <= dinMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytesLen, dinMeteringReceiptReqType->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:2010:MsgBody}SessionID) ? */ - 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 1: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMeteringReceiptReqType->SessionID.bytesLen) <= dinMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytesLen, dinMeteringReceiptReqType->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:2010:MsgBody}SessionID) ? */ - 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[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - 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, &dinMeteringReceiptReqType->SAScheduleTupleID); - dinMeteringReceiptReqType->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:2010:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType) { - int grammarID = 6; - int done = 0; - - init_dinBodyType(dinBodyType); - - while(!done) { - switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinBodyBaseType(stream, &dinBodyType->BodyElement); - dinBodyType->BodyElement_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinCableCheckReqType(stream, &dinBodyType->CableCheckReq); - dinBodyType->CableCheckReq_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinCableCheckResType(stream, &dinBodyType->CableCheckRes); - dinBodyType->CableCheckRes_isUsed = 1u; - grammarID = 4; - break; - case 3: - errn = decode_dinCertificateInstallationReqType(stream, &dinBodyType->CertificateInstallationReq); - dinBodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 4; - break; - case 4: - errn = decode_dinCertificateInstallationResType(stream, &dinBodyType->CertificateInstallationRes); - dinBodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 4; - break; - case 5: - errn = decode_dinCertificateUpdateReqType(stream, &dinBodyType->CertificateUpdateReq); - dinBodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 4; - break; - case 6: - errn = decode_dinCertificateUpdateResType(stream, &dinBodyType->CertificateUpdateRes); - dinBodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 4; - break; - case 7: - errn = decode_dinChargeParameterDiscoveryReqType(stream, &dinBodyType->ChargeParameterDiscoveryReq); - dinBodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 4; - break; - case 8: - errn = decode_dinChargeParameterDiscoveryResType(stream, &dinBodyType->ChargeParameterDiscoveryRes); - dinBodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 4; - break; - case 9: - errn = decode_dinChargingStatusReqType(stream, &dinBodyType->ChargingStatusReq); - dinBodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 4; - break; - case 10: - errn = decode_dinChargingStatusResType(stream, &dinBodyType->ChargingStatusRes); - dinBodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 4; - break; - case 11: - errn = decode_dinContractAuthenticationReqType(stream, &dinBodyType->ContractAuthenticationReq); - dinBodyType->ContractAuthenticationReq_isUsed = 1u; - grammarID = 4; - break; - case 12: - errn = decode_dinContractAuthenticationResType(stream, &dinBodyType->ContractAuthenticationRes); - dinBodyType->ContractAuthenticationRes_isUsed = 1u; - grammarID = 4; - break; - case 13: - errn = decode_dinCurrentDemandReqType(stream, &dinBodyType->CurrentDemandReq); - dinBodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 4; - break; - case 14: - errn = decode_dinCurrentDemandResType(stream, &dinBodyType->CurrentDemandRes); - dinBodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 4; - break; - case 15: - errn = decode_dinMeteringReceiptReqType(stream, &dinBodyType->MeteringReceiptReq); - dinBodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 4; - break; - case 16: - errn = decode_dinMeteringReceiptResType(stream, &dinBodyType->MeteringReceiptRes); - dinBodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 4; - break; - case 17: - errn = decode_dinPaymentDetailsReqType(stream, &dinBodyType->PaymentDetailsReq); - dinBodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 4; - break; - case 18: - errn = decode_dinPaymentDetailsResType(stream, &dinBodyType->PaymentDetailsRes); - dinBodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 4; - break; - case 19: - errn = decode_dinPowerDeliveryReqType(stream, &dinBodyType->PowerDeliveryReq); - dinBodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 4; - break; - case 20: - errn = decode_dinPowerDeliveryResType(stream, &dinBodyType->PowerDeliveryRes); - dinBodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 4; - break; - case 21: - errn = decode_dinPreChargeReqType(stream, &dinBodyType->PreChargeReq); - dinBodyType->PreChargeReq_isUsed = 1u; - grammarID = 4; - break; - case 22: - errn = decode_dinPreChargeResType(stream, &dinBodyType->PreChargeRes); - dinBodyType->PreChargeRes_isUsed = 1u; - grammarID = 4; - break; - case 23: - errn = decode_dinServiceDetailReqType(stream, &dinBodyType->ServiceDetailReq); - dinBodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 4; - break; - case 24: - errn = decode_dinServiceDetailResType(stream, &dinBodyType->ServiceDetailRes); - dinBodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 4; - break; - case 25: - errn = decode_dinServiceDiscoveryReqType(stream, &dinBodyType->ServiceDiscoveryReq); - dinBodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 4; - break; - case 26: - errn = decode_dinServiceDiscoveryResType(stream, &dinBodyType->ServiceDiscoveryRes); - dinBodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 4; - break; - case 27: - errn = decode_dinServicePaymentSelectionReqType(stream, &dinBodyType->ServicePaymentSelectionReq); - dinBodyType->ServicePaymentSelectionReq_isUsed = 1u; - grammarID = 4; - break; - case 28: - errn = decode_dinServicePaymentSelectionResType(stream, &dinBodyType->ServicePaymentSelectionRes); - dinBodyType->ServicePaymentSelectionRes_isUsed = 1u; - grammarID = 4; - break; - case 29: - errn = decode_dinSessionSetupReqType(stream, &dinBodyType->SessionSetupReq); - dinBodyType->SessionSetupReq_isUsed = 1u; - grammarID = 4; - break; - case 30: - errn = decode_dinSessionSetupResType(stream, &dinBodyType->SessionSetupRes); - dinBodyType->SessionSetupRes_isUsed = 1u; - grammarID = 4; - break; - case 31: - errn = decode_dinSessionStopType(stream, &dinBodyType->SessionStopReq); - dinBodyType->SessionStopReq_isUsed = 1u; - grammarID = 4; - break; - case 32: - errn = decode_dinSessionStopResType(stream, &dinBodyType->SessionStopRes); - dinBodyType->SessionStopRes_isUsed = 1u; - grammarID = 4; - break; - case 33: - errn = decode_dinWeldingDetectionReqType(stream, &dinBodyType->WeldingDetectionReq); - dinBodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 4; - break; - case 34: - errn = decode_dinWeldingDetectionResType(stream, &dinBodyType->WeldingDetectionRes); - dinBodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 4; - break; - case 35: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int decode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType) { - int grammarID = 7; - int done = 0; - - init_dinSessionSetupReqType(dinSessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinSessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (dinSessionSetupReqType->EVCCID.bytesLen) <= dinSessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSessionSetupReqType->EVCCID.bytesLen, dinSessionSetupReqType->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:2010:MsgBody}EVCCID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - int grammarID = 8; - int done = 0; - - init_dinPowerDeliveryResType(dinPowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPowerDeliveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 9; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinPowerDeliveryResType->AC_EVSEStatus); - dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVSEStatusType(stream, &dinPowerDeliveryResType->DC_EVSEStatus); - dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVSEStatusType(stream, &dinPowerDeliveryResType->EVSEStatus); - dinPowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType) { - int grammarID = 10; - int done = 0; - - init_dinServiceDetailResType(dinServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDetailResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceDetailResType->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:2010:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 12; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceParameterListType(stream, &dinServiceDetailResType->ServiceParameterList); - dinServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - int grammarID = 13; - int done = 0; - - init_dinWeldingDetectionResType(dinWeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinWeldingDetectionResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 14; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinWeldingDetectionResType->DC_EVSEStatus); - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinWeldingDetectionResType->EVSEPresentVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - int grammarID = 16; - int done = 0; - - init_dinContractAuthenticationResType(dinContractAuthenticationResType); - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinContractAuthenticationResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinContractAuthenticationResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - int grammarID = 18; - int done = 0; - - init_dinCanonicalizationMethodType(dinCanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 18: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->Algorithm.charactersLen); - 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, dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinCanonicalizationMethodType->ANY.charactersLen >= 2) { - dinCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCanonicalizationMethodType->ANY.charactersLen, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinCanonicalizationMethodType->ANY.charactersLen >= 2) { - dinCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCanonicalizationMethodType->ANY.charactersLen, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType) { - int grammarID = 21; - int done = 0; - - init_dinSPKIDataType(dinSPKIDataType); - - while(!done) { - switch(grammarID) { - case 21: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } 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 = 23; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - int grammarID = 24; - int done = 0; - - init_dinListOfRootCertificateIDsType(dinListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinListOfRootCertificateIDsType->RootCertificateID.arrayLen < dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - 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, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 25; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinListOfRootCertificateIDsType->RootCertificateID.arrayLen < dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - 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, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 25; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType) { - int grammarID = 26; - int done = 0; - - init_dinSelectedServiceListType(dinSelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSelectedServiceListType->SelectedService.arrayLen < dinSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array[dinSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSelectedServiceListType->SelectedService.arrayLen < dinSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array[dinSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 27; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType) { - int grammarID = 28; - int done = 0; - - init_dinCurrentDemandResType(dinCurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCurrentDemandResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinCurrentDemandResType->DC_EVSEStatus); - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentVoltage); - grammarID = 31; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentCurrent); - grammarID = 32; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 34; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 35; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumVoltageLimit); - dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit); - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 37; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit); - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 37; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType) { - int grammarID = 38; - int done = 0; - - init_dinTransformType(dinTransformType); - - while(!done) { - switch(grammarID) { - case 38: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinTransformType->Algorithm.charactersLen); - 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, dinTransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 39; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* 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 (dinTransformType->XPath.arrayLen < dinTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - 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, dinTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->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 = 40; - } 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 = 40; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinTransformType->ANY.charactersLen); - if (errn == 0) { - if (dinTransformType->ANY.charactersLen >= 2) { - dinTransformType->ANY.charactersLen = (uint16_t)(dinTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->ANY.charactersLen, dinTransformType->ANY.characters, dinTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->ANY_isUsed = 1u; - grammarID = 40; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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 (dinTransformType->XPath.arrayLen < dinTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - 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, dinTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->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 = 40; - } 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 = 40; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinTransformType->ANY.charactersLen); - if (errn == 0) { - if (dinTransformType->ANY.charactersLen >= 2) { - dinTransformType->ANY.charactersLen = (uint16_t)(dinTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->ANY.charactersLen, dinTransformType->ANY.characters, dinTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->ANY_isUsed = 1u; - grammarID = 40; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - int grammarID = 41; - int done = 0; - - init_dinAC_EVChargeParameterType(dinAC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 41: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinAC_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:2010:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EAmount); - grammarID = 43; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxVoltage); - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxCurrent); - grammarID = 45; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMinCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType) { - int grammarID = 46; - int done = 0; - - init_dinX509DataType(dinX509DataType); - - while(!done) { - switch(grammarID) { - case 46: - /* 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 (dinX509DataType->X509IssuerSerial.arrayLen < dinX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array[dinX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - if (dinX509DataType->X509SKI.arrayLen < dinX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen) <= dinX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinX509DataType->X509SubjectName.arrayLen < dinX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - 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, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (dinX509DataType->X509Certificate.arrayLen < dinX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen) <= dinX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (dinX509DataType->X509CRL.arrayLen < dinX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen) <= dinX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } 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 = 47; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 (dinX509DataType->X509IssuerSerial.arrayLen < dinX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array[dinX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - if (dinX509DataType->X509SKI.arrayLen < dinX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen) <= dinX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinX509DataType->X509SubjectName.arrayLen < dinX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - 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, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (dinX509DataType->X509Certificate.arrayLen < dinX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen) <= dinX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (dinX509DataType->X509CRL.arrayLen < dinX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen) <= dinX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } 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 = 47; - break; - case 6: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType) { - int grammarID = 48; - int done = 0; - - init_dinChargingStatusResType(dinChargingStatusResType); - - while(!done) { - switch(grammarID) { - case 48: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinChargingStatusResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 49; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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, &dinChargingStatusResType->EVSEID.bytesLen); - if (errn == 0) { - errn = (dinChargingStatusResType->EVSEID.bytesLen) <= dinChargingStatusResType_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinChargingStatusResType->EVSEID.bytesLen, dinChargingStatusResType->EVSEID.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:2010:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 50; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinChargingStatusResType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 51; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinChargingStatusResType->EVSEMaxCurrent); - dinChargingStatusResType->EVSEMaxCurrent_isUsed = 1u; - grammarID = 52; - break; - case 1: - errn = decode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo); - dinChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 53; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo); - dinChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 53; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - 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, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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:2010:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinChargingStatusResType->AC_EVSEStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - int grammarID = 55; - int done = 0; - - init_dinWeldingDetectionReqType(dinWeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinWeldingDetectionReqType->DC_EVStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - int grammarID = 56; - int done = 0; - - init_dinSignaturePropertiesType(dinSignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 56: - /* 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, &dinSignaturePropertiesType->Id.charactersLen); - 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, dinSignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertiesType->Id_isUsed = 1u; - grammarID = 57; - break; - case 1: - if (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* 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 (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - int grammarID = 59; - int done = 0; - - init_dinContractAuthenticationReqType(dinContractAuthenticationReqType); - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->Id.charactersLen); - 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, dinContractAuthenticationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->Id_isUsed = 1u; - grammarID = 60; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - 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, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->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:2010:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - 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, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - 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, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->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:2010:MsgBody}GenChallenge) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - int grammarID = 61; - int done = 0; - - init_dinDC_EVPowerDeliveryParameterType(dinDC_EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 61: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinDC_EVPowerDeliveryParameterType->DC_EVStatus); - grammarID = 62; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_EVPowerDeliveryParameterType->BulkChargingComplete); - dinDC_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:2010:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 63; - } 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, &dinDC_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:2010:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_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:2010:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVSEChargeParameterType(dinEVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType) { - int grammarID = 55; - int done = 0; - - init_dinCableCheckReqType(dinCableCheckReqType); - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinCableCheckReqType->DC_EVStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - int grammarID = 65; - int done = 0; - - init_dinDC_EVChargeParameterType(dinDC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinDC_EVChargeParameterType->DC_EVStatus); - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumCurrentLimit); - grammarID = 67; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumPowerLimit); - dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 68; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 69; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 69; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyCapacity); - dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 1u; - grammarID = 70; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest); - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 71; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 72; - } 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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest); - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 71; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 72; - } 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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010: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)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - 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: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -static int decode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType) { - int grammarID = 73; - int done = 0; - - init_dinSAScheduleListType(dinSAScheduleListType); - - while(!done) { - switch(grammarID) { - case 73: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSAScheduleListType->SAScheduleTuple.arrayLen < dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array[dinSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSAScheduleListType->SAScheduleTuple.arrayLen < dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array[dinSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType) { - int grammarID = 75; - int done = 0; - - init_dinPMaxScheduleType(dinPMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 75: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinPMaxScheduleType->PMaxScheduleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 76; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPMaxScheduleType->PMaxScheduleEntry.arrayLen < dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array[dinPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPMaxScheduleType->PMaxScheduleEntry.arrayLen < dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array[dinPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int decode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - int grammarID = 78; - int done = 0; - - init_dinServicePaymentSelectionReqType(dinServicePaymentSelectionReqType); - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServicePaymentSelectionReqType->SelectedPaymentOption = (dinpaymentOptionType) 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:2010:MsgBody}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 79; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSelectedServiceListType(stream, &dinServicePaymentSelectionReqType->SelectedServiceList); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - int grammarID = 80; - int done = 0; - - init_dinRelativeTimeIntervalType(dinRelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ - 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, &dinRelativeTimeIntervalType->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:2010:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 81; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), 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, &dinRelativeTimeIntervalType->duration); - dinRelativeTimeIntervalType->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:2010:MsgDataTypes}duration) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType) { - int grammarID = 64; - int done = 0; - - init_dinEVStatusType(dinEVStatusType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType) { - int grammarID = 13; - int done = 0; - - init_dinPreChargeResType(dinPreChargeResType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPreChargeResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 14; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinPreChargeResType->DC_EVSEStatus); - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeResType->EVSEPresentVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - int grammarID = 82; - int done = 0; - - init_dinDC_EVSEChargeParameterType(dinDC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinDC_EVSEChargeParameterType->DC_EVSEStatus); - grammarID = 83; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit); - grammarID = 84; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit); - dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 85; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 86; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 86; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit); - grammarID = 87; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit); - grammarID = 88; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 89; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 90; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 90; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -static int decode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - int grammarID = 91; - int done = 0; - - init_dinPaymentDetailsResType(dinPaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 91: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPaymentDetailsResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 92; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ - 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, &dinPaymentDetailsResType->GenChallenge.charactersLen); - 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, dinPaymentDetailsResType_GenChallenge_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:2010:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 93; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ - 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, &dinPaymentDetailsResType->DateTimeNow); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType) { - int grammarID = 94; - int done = 0; - - init_dinDSAKeyValueType(dinDSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 94: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->P.bytesLen) <= dinDSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->P.bytesLen, dinDSAKeyValueType->P.bytes); - } - dinDSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 95; - } 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, &dinDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->G.bytesLen) <= dinDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->G.bytesLen, dinDSAKeyValueType->G.bytes); - } - dinDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 96; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 95: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Q.bytesLen) <= dinDSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Q.bytesLen, dinDSAKeyValueType->Q.bytes); - } - dinDSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 98; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->G.bytesLen) <= dinDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->G.bytesLen, dinDSAKeyValueType->G.bytes); - } - dinDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 96; - } 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, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->J.bytesLen) <= dinDSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->J.bytesLen, dinDSAKeyValueType->J.bytes); - } - dinDSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 99; - } 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, &dinDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Seed.bytesLen) <= dinDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Seed.bytesLen, dinDSAKeyValueType->Seed.bytes); - } - dinDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 100; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Seed.bytesLen) <= dinDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Seed.bytesLen, dinDSAKeyValueType->Seed.bytes); - } - dinDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 100; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->PgenCounter.bytesLen) <= dinDSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->PgenCounter.bytesLen, dinDSAKeyValueType->PgenCounter.bytes); - } - dinDSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType) { - int grammarID = 64; - int done = 0; - - init_dinSASchedulesType(dinSASchedulesType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - int grammarID = 101; - int done = 0; - - init_dinCertificateUpdateResType(dinCertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateResType->Id.charactersLen); - 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, dinCertificateUpdateResType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 102; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCertificateUpdateResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateResType->ContractSignatureCertChain); - grammarID = 104; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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, &dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.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:2010:MsgBody}ContractSignatureEncryptedPrivateKey) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 105; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateUpdateResType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->DHParams.bytesLen) <= dinCertificateUpdateResType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateResType->DHParams.bytesLen, dinCertificateUpdateResType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 106; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateUpdateResType->ContractID.charactersLen); - 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, dinCertificateUpdateResType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 107; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ - 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, &dinCertificateUpdateResType->RetryCounter); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVChargeParameterType(dinEVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType) { - int grammarID = 108; - int done = 0; - - init_dinMessageHeaderType(dinMessageHeaderType); - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMessageHeaderType->SessionID.bytesLen) <= dinMessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMessageHeaderType->SessionID.bytesLen, dinMessageHeaderType->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:2010:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 109; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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_dinNotificationType(stream, &dinMessageHeaderType->Notification); - dinMessageHeaderType->Notification_isUsed = 1u; - grammarID = 110; - break; - case 1: - errn = decode_dinSignatureType(stream, &dinMessageHeaderType->Signature); - dinMessageHeaderType->Signature_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 110: - /* 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_dinSignatureType(stream, &dinMessageHeaderType->Signature); - dinMessageHeaderType->Signature_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType) { - int grammarID = 64; - int done = 0; - - init_dinBodyBaseType(dinBodyBaseType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType) { - int grammarID = 111; - int done = 0; - - init_dinKeyValueType(dinKeyValueType); - - while(!done) { - switch(grammarID) { - case 111: - /* 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_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue); - dinKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 1: - errn = decode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue); - dinKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 112; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 113; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 112: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 112; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* 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_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue); - dinKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 1: - errn = decode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue); - dinKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 112; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 113; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType) { - int grammarID = 64; - int done = 0; - - init_dinIntervalType(dinIntervalType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - int grammarID = 114; - int done = 0; - - init_dinChargeParameterDiscoveryResType(dinChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 114: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinChargeParameterDiscoveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 115; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinChargeParameterDiscoveryResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSAScheduleListType(stream, &dinChargeParameterDiscoveryResType->SAScheduleList); - dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 117; - break; - case 1: - errn = decode_dinSASchedulesType(stream, &dinChargeParameterDiscoveryResType->SASchedules); - dinChargeParameterDiscoveryResType->SASchedules_isUsed = 1u; - grammarID = 117; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->EVSEChargeParameter); - dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - int grammarID = 118; - int done = 0; - - init_dinPowerDeliveryReqType(dinPowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ - 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, &dinPowerDeliveryReqType->ReadyToChargeState); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 119; - } 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:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinChargingProfileType(stream, &dinPowerDeliveryReqType->ChargingProfile); - dinPowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 120; - break; - case 1: - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter); - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter); - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType) { - int grammarID = 121; - int done = 0; - - init_dinCertificateChainType(dinCertificateChainType); - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (dinCertificateChainType->Certificate.bytesLen) <= dinCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateChainType->Certificate.bytesLen, dinCertificateChainType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 122; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSubCertificatesType(stream, &dinCertificateChainType->SubCertificates); - dinCertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType) { - int grammarID = 123; - int done = 0; - - init_dinTransformsType(dinTransformsType); - - while(!done) { - switch(grammarID) { - case 123: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinTransformsType->Transform.arrayLen < dinTransformsType_Transform_ARRAY_SIZE) { - errn = decode_dinTransformType(stream, &dinTransformsType->Transform.array[dinTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* 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 (dinTransformsType->Transform.arrayLen < dinTransformsType_Transform_ARRAY_SIZE) { - errn = decode_dinTransformType(stream, &dinTransformsType->Transform.array[dinTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int decode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType) { - int grammarID = 125; - int done = 0; - - init_dinEntryType(dinEntryType); - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinEntryType->RelativeTimeInterval); - dinEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinEntryType->TimeInterval); - dinEntryType->TimeInterval_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType) { - int grammarID = 64; - int done = 0; - - init_dinSessionStopType(dinSessionStopType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int decode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType) { - int grammarID = 126; - int done = 0; - - init_dinServiceDetailReqType(dinServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceDetailReqType->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:2010:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType) { - int grammarID = 18; - int done = 0; - - init_dinDigestMethodType(dinDigestMethodType); - - while(!done) { - switch(grammarID) { - case 18: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->Algorithm.charactersLen); - 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, dinDigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinDigestMethodType->ANY.charactersLen >= 2) { - dinDigestMethodType->ANY.charactersLen = (uint16_t)(dinDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinDigestMethodType->ANY.charactersLen, dinDigestMethodType->ANY.characters, dinDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinDigestMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinDigestMethodType->ANY.charactersLen >= 2) { - dinDigestMethodType->ANY.charactersLen = (uint16_t)(dinDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinDigestMethodType->ANY.charactersLen, dinDigestMethodType->ANY.characters, dinDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinDigestMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType) { - int grammarID = 127; - int done = 0; - - init_dinParameterType(dinParameterType); - - while(!done) { - switch(grammarID) { - case 127: - /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinParameterType->Name.charactersLen); - 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, dinParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 128; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - dinParameterType->ValueType = (dinvalueType) uint32; - grammarID = 129; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 129: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010: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, &dinParameterType->boolValue); - dinParameterType->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:2010:MsgDataTypes}boolValue) ? */ - 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: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - dinParameterType->byteValue = (int8_t)(uint32 -128); - dinParameterType->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:2010:MsgDataTypes}byteValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } 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, &dinParameterType->shortValue); - dinParameterType->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:2010:MsgDataTypes}shortValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } 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, &dinParameterType->intValue); - dinParameterType->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:2010:MsgDataTypes}intValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_dinPhysicalValueType(stream, &dinParameterType->physicalValue); - dinParameterType->physicalValue_isUsed = 1u; - grammarID = 4; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinParameterType->stringValue.charactersLen); - 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, dinParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinParameterType->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:2010:MsgDataTypes}stringValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType) { - int grammarID = 64; - int done = 0; - - init_dinChargingStatusReqType(dinChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType) { - int grammarID = 130; - int done = 0; - - init_dinSignatureMethodType(dinSignatureMethodType); - - while(!done) { - switch(grammarID) { - case 130: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->Algorithm.charactersLen); - 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, dinSignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 131; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 131: - /* 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, &dinSignatureMethodType->HMACOutputLength); - dinSignatureMethodType->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 = 20; - } 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 = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* 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, &dinSignatureMethodType->HMACOutputLength); - dinSignatureMethodType->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 = 20; - } 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 = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - int grammarID = 133; - int done = 0; - - init_dinCertificateInstallationReqType(dinCertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 133: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationReqType->Id.charactersLen); - 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, dinCertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCertificateInstallationReqType->Id_isUsed = 1u; - grammarID = 134; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen, dinCertificateInstallationReqType->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:2010:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen, dinCertificateInstallationReqType->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:2010:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinListOfRootCertificateIDsType(stream, &dinCertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateInstallationReqType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->DHParams.bytesLen) <= dinCertificateInstallationReqType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->DHParams.bytesLen, dinCertificateInstallationReqType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -static int decode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - int grammarID = 137; - int done = 0; - - init_dinSalesTariffEntryType(dinSalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 137: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinSalesTariffEntryType->RelativeTimeInterval); - dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 138; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinSalesTariffEntryType->TimeInterval); - dinSalesTariffEntryType->TimeInterval_isUsed = 1u; - grammarID = 138; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ - 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)); - dinSalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 139; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffEntryType->ConsumptionCost.arrayLen < dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_dinConsumptionCostType(stream, &dinSalesTariffEntryType->ConsumptionCost.array[dinSalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 139; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - int grammarID = 140; - int done = 0; - - init_dinServiceDiscoveryResType(dinServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDiscoveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}PaymentOptions)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPaymentOptionsType(stream, &dinServiceDiscoveryResType->PaymentOptions); - grammarID = 142; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceChargeType(stream, &dinServiceDiscoveryResType->ChargeService); - grammarID = 143; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagListType(stream, &dinServiceDiscoveryResType->ServiceList); - dinServiceDiscoveryResType->ServiceList_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType) { - int grammarID = 144; - int done = 0; - - init_dinParameterSetType(dinParameterSetType); - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinParameterSetType->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:2010:MsgDataTypes}ParameterSetID) ? */ - 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:2010:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinParameterSetType->Parameter.arrayLen < dinParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_dinParameterType(stream, &dinParameterSetType->Parameter.array[dinParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinParameterSetType->Parameter.arrayLen < dinParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_dinParameterType(stream, &dinParameterSetType->Parameter.array[dinParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - int grammarID = 147; - int done = 0; - - init_dinCurrentDemandReqType(dinCurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 147: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinCurrentDemandReqType->DC_EVStatus); - grammarID = 148; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetCurrent); - grammarID = 149; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumVoltageLimit); - dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 1u; - grammarID = 150; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit); - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 151; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit); - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 151; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } 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:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToFullSoC); - dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 1u; - grammarID = 155; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC); - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 156; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC); - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 156; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType) { - int grammarID = 157; - int done = 0; - - init_dinPreChargeReqType(dinPreChargeReqType); - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinPreChargeReqType->DC_EVStatus); - grammarID = 158; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetVoltage); - grammarID = 159; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType) { - int grammarID = 160; - int done = 0; - - init_dinSignatureType(dinSignatureType); - - while(!done) { - switch(grammarID) { - case 160: - /* 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, &dinSignatureType->Id.charactersLen); - 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, dinSignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureType->Id_isUsed = 1u; - grammarID = 161; - break; - case 1: - errn = decode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo); - grammarID = 162; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* 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_dinSignedInfoType(stream, &dinSignatureType->SignedInfo); - grammarID = 162; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* 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_dinSignatureValueType(stream, &dinSignatureType->SignatureValue); - grammarID = 163; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* 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_dinKeyInfoType(stream, &dinSignatureType->KeyInfo); - dinSignatureType->KeyInfo_isUsed = 1u; - grammarID = 164; - break; - case 1: - if (dinSignatureType->Object.arrayLen < dinSignatureType_Object_ARRAY_SIZE) { - errn = decode_dinObjectType(stream, &dinSignatureType->Object.array[dinSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* 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 (dinSignatureType->Object.arrayLen < dinSignatureType_Object_ARRAY_SIZE) { - errn = decode_dinObjectType(stream, &dinSignatureType->Object.array[dinSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)', derivedBy='RESTRICTION'. */ -static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType) { - int grammarID = 165; - int done = 0; - - init_dinReferenceType(dinReferenceType); - - while(!done) { - switch(grammarID) { - case 165: - /* 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, &dinReferenceType->Id.charactersLen); - 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, dinReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Id_isUsed = 1u; - grammarID = 166; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->Type.charactersLen); - 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, dinReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Type_isUsed = 1u; - grammarID = 167; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 3: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 4: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 166: - /* 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, &dinReferenceType->Type.charactersLen); - 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, dinReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Type_isUsed = 1u; - grammarID = 167; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 2: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 3: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* 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, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 1: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 2: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 168: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 1: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* 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_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 170: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (dinReferenceType->DigestValue.bytesLen) <= dinReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinReferenceType->DigestValue.bytesLen, dinReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -static int decode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType) { - int grammarID = 171; - int done = 0; - - init_dinProfileEntryType(dinProfileEntryType); - - while(!done) { - switch(grammarID) { - case 171: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinProfileEntryType->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:2010:MsgDataTypes}ChargingProfileEntryStart) ? */ - 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:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinProfileEntryType->ChargingProfileEntryMaxPower); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int decode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - int grammarID = 173; - int done = 0; - - init_dinAnonType_V2G_Message(dinAnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 173: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMessageHeaderType(stream, &dinAnonType_V2G_Message->Header); - grammarID = 174; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinBodyType(stream, &dinAnonType_V2G_Message->Body); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - int grammarID = 175; - int done = 0; - - init_dinChargeParameterDiscoveryReqType(dinChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ - 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); - dinChargeParameterDiscoveryReqType->EVRequestedEnergyTransferType = (dinEVRequestedEnergyTransferType) 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:2010:MsgBody}EVRequestedEnergyTransferType) ? */ - 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:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->AC_EVChargeParameter); - dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->DC_EVChargeParameter); - dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->EVChargeParameter); - dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType) { - int grammarID = 177; - int done = 0; - - init_dinConsumptionCostType(dinConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 177: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ - 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, &dinConsumptionCostType->startValue); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 178; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinConsumptionCostType->Cost.arrayLen < dinConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_dinCostType(stream, &dinConsumptionCostType->Cost.array[dinConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType) { - int grammarID = 179; - int done = 0; - - init_dinRSAKeyValueType(dinRSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 179: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinRSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (dinRSAKeyValueType->Modulus.bytesLen) <= dinRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinRSAKeyValueType->Modulus.bytesLen, dinRSAKeyValueType->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 = 180; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* 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, &dinRSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (dinRSAKeyValueType->Exponent.bytesLen) <= dinRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinRSAKeyValueType->Exponent.bytesLen, dinRSAKeyValueType->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 = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int decode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType) { - int grammarID = 181; - int done = 0; - - init_dinServiceType(dinServiceType); - - while(!done) { - switch(grammarID) { - case 181: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagType(stream, &dinServiceType->ServiceTag); - grammarID = 182; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceType->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:2010:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType) { - int grammarID = 183; - int done = 0; - - init_dinServiceTagListType(dinServiceTagListType); - - while(!done) { - switch(grammarID) { - case 183: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceTagListType->Service.arrayLen < dinServiceTagListType_Service_ARRAY_SIZE) { - errn = decode_dinServiceType(stream, &dinServiceTagListType->Service.array[dinServiceTagListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceTagListType->Service.arrayLen < dinServiceTagListType_Service_ARRAY_SIZE) { - errn = decode_dinServiceType(stream, &dinServiceTagListType->Service.array[dinServiceTagListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType) { - int grammarID = 64; - int done = 0; - - init_dinEVSEStatusType(dinEVSEStatusType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType) { - int grammarID = 185; - int done = 0; - - init_dinSessionSetupResType(dinSessionSetupResType); - - while(!done) { - switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinSessionSetupResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 186; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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, &dinSessionSetupResType->EVSEID.bytesLen); - if (errn == 0) { - errn = (dinSessionSetupResType->EVSEID.bytesLen) <= dinSessionSetupResType_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSessionSetupResType->EVSEID.bytesLen, dinSessionSetupResType->EVSEID.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:2010:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 187; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), 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, &dinSessionSetupResType->DateTimeNow); - dinSessionSetupResType->DateTimeNow_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVPowerDeliveryParameterType(dinEVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - int grammarID = 188; - int done = 0; - - init_dinX509IssuerSerialType(dinX509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 188: - /* 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, &dinX509IssuerSerialType->X509IssuerName.charactersLen); - 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, dinX509IssuerSerialType_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 = 189; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* 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, &dinX509IssuerSerialType->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 = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType) { - int grammarID = 190; - int done = 0; - - init_dinSelectedServiceType(dinSelectedServiceType); - - while(!done) { - switch(grammarID) { - case 190: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinSelectedServiceType->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:2010:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 191; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), 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, &dinSelectedServiceType->ParameterSetID); - dinSelectedServiceType->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - int grammarID = 192; - int done = 0; - - init_dinMeteringReceiptResType(dinMeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 192: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinMeteringReceiptResType->ResponseCode = (dinresponseCodeType) 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:2010: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:2010:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinMeteringReceiptResType->AC_EVSEStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType) { - int grammarID = 193; - int done = 0; - - init_dinDC_EVStatusType(dinDC_EVStatusType); - - while(!done) { - switch(grammarID) { - case 193: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_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:2010:MsgDataTypes}EVReady) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 194; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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, &dinDC_EVStatusType->EVCabinConditioning); - dinDC_EVStatusType->EVCabinConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 195; - } 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, &dinDC_EVStatusType->EVRESSConditioning); - dinDC_EVStatusType->EVRESSConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 196; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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, &dinDC_EVStatusType->EVRESSConditioning); - dinDC_EVStatusType->EVRESSConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 196; - } 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); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ - 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, 7, &(uint32)); - dinDC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int decode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType) { - int grammarID = 198; - int done = 0; - - init_dinPhysicalValueType(dinPhysicalValueType); - - while(!done) { - switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)); - dinPhysicalValueType->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:2010:MsgDataTypes}Multiplier) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 199; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ - 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, 4, &uint32); - dinPhysicalValueType->Unit = (dinunitSymbolType) uint32; - dinPhysicalValueType->Unit_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 200; - } 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 = decodeInteger16(stream, &dinPhysicalValueType->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:2010:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinPhysicalValueType->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:2010:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType) { - int grammarID = 201; - int done = 0; - - init_dinManifestType(dinManifestType); - - while(!done) { - switch(grammarID) { - case 201: - /* 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, &dinManifestType->Id.charactersLen); - 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, dinManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinManifestType->Id_isUsed = 1u; - grammarID = 202; - break; - case 1: - if (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 202: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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 (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int decode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - int grammarID = 204; - int done = 0; - - init_dinPMaxScheduleEntryType(dinPMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 204: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinPMaxScheduleEntryType->RelativeTimeInterval); - dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 205; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinPMaxScheduleEntryType->TimeInterval); - dinPMaxScheduleEntryType->TimeInterval_isUsed = 1u; - grammarID = 205; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinPMaxScheduleEntryType->PMax); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType) { - int grammarID = 206; - int done = 0; - - init_dinServiceParameterListType(dinServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 206: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceParameterListType->ParameterSet.arrayLen < dinServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array[dinServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceParameterListType->ParameterSet.arrayLen < dinServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array[dinServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType) { - int grammarID = 208; - int done = 0; - - init_dinSignatureValueType(dinSignatureValueType); - - while(!done) { - switch(grammarID) { - case 208: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->Id.charactersLen); - 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, dinSignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureValueType->Id_isUsed = 1u; - grammarID = 209; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (dinSignatureValueType->CONTENT.bytesLen) <= dinSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSignatureValueType->CONTENT.bytesLen, dinSignatureValueType->CONTENT.bytes); - } - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (dinSignatureValueType->CONTENT.bytesLen) <= dinSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSignatureValueType->CONTENT.bytesLen, dinSignatureValueType->CONTENT.bytes); - } - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType) { - int grammarID = 210; - int done = 0; - - init_dinPaymentOptionsType(dinPaymentOptionsType); - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPaymentOptionsType->PaymentOption.arrayLen < dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType->PaymentOption.arrayLen] = (dinpaymentOptionType) uint32; - dinPaymentOptionsType->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:2010:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 211; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPaymentOptionsType->PaymentOption.arrayLen < dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType->PaymentOption.arrayLen] = (dinpaymentOptionType) uint32; - dinPaymentOptionsType->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:2010:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 211; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType) { - int grammarID = 212; - int done = 0; - - init_dinServiceTagType(dinServiceTagType); - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceTagType->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:2010:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 213; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceTagType->ServiceName.charactersLen); - 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, dinServiceTagType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceTagType->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:2010:MsgDataTypes}ServiceName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 214; - } 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); - dinServiceTagType->ServiceCategory = (dinserviceCategoryType) 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:2010:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 215; - } 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:2010: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); - dinServiceTagType->ServiceCategory = (dinserviceCategoryType) 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:2010:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 215; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ - 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, &dinServiceTagType->ServiceScope.charactersLen); - 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, dinServiceTagType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceTagType->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:2010:MsgDataTypes}ServiceScope) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - int grammarID = 216; - int done = 0; - - init_dinAC_EVSEStatusType(dinAC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 216: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ - 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, &dinAC_EVSEStatusType->PowerSwitchClosed); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 217; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ - 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, &dinAC_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:2010:MsgDataTypes}RCD) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = decodeUnsignedInteger32(stream, &dinAC_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:2010:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinAC_EVSEStatusType->EVSENotification = (dinEVSENotificationType) 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:2010:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - int grammarID = 220; - int done = 0; - - init_dinCertificateUpdateReqType(dinCertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 220: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateReqType->Id.charactersLen); - 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, dinCertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCertificateUpdateReqType->Id_isUsed = 1u; - grammarID = 221; - break; - case 1: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 221: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateUpdateReqType->ContractID.charactersLen); - 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, dinCertificateUpdateReqType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinListOfRootCertificateIDsType(stream, &dinCertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateUpdateReqType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateReqType->DHParams.bytesLen) <= dinCertificateUpdateReqType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateReqType->DHParams.bytesLen, dinCertificateUpdateReqType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - int grammarID = 223; - int done = 0; - - init_dinServicePaymentSelectionResType(dinServicePaymentSelectionResType); - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServicePaymentSelectionResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - int grammarID = 224; - int done = 0; - - init_dinSAScheduleTupleType(dinSAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 224: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinSAScheduleTupleType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 225; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPMaxScheduleType(stream, &dinSAScheduleTupleType->PMaxSchedule); - grammarID = 226; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSalesTariffType(stream, &dinSAScheduleTupleType->SalesTariff); - dinSAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType) { - int grammarID = 227; - int done = 0; - - init_dinChargingProfileType(dinChargingProfileType); - - while(!done) { - switch(grammarID) { - case 227: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinChargingProfileType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 228; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinChargingProfileType->ProfileEntry.arrayLen < dinChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array[dinChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinChargingProfileType->ProfileEntry.arrayLen < dinChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array[dinChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - int grammarID = 230; - int done = 0; - - init_dinServiceDiscoveryReqType(dinServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - 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, &dinServiceDiscoveryReqType->ServiceScope.charactersLen); - 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, dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceScope) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 231; - } 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); - dinServiceDiscoveryReqType->ServiceCategory = (dinserviceCategoryType) uint32; - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDiscoveryReqType->ServiceCategory = (dinserviceCategoryType) uint32; - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceCategory) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - int grammarID = 232; - int done = 0; - - init_dinAC_EVSEChargeParameterType(dinAC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinAC_EVSEChargeParameterType->AC_EVSEStatus); - grammarID = 233; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxVoltage); - grammarID = 234; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxCurrent); - grammarID = 235; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMinCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType) { - int grammarID = 236; - int done = 0; - - init_dinKeyInfoType(dinKeyInfoType); - - while(!done) { - switch(grammarID) { - case 236: - /* 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, &dinKeyInfoType->Id.charactersLen); - 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, dinKeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->Id_isUsed = 1u; - grammarID = 237; - break; - case 1: - if (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 7: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - done = 1; - grammarID = 5; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 238; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int decode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - int grammarID = 240; - int done = 0; - - init_dinPaymentDetailsReqType(dinPaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinPaymentDetailsReqType->ContractID.charactersLen); - 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, dinPaymentDetailsReqType_ContractID_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:2010:MsgBody}ContractID) ? */ - 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:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinPaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType) { - int grammarID = 242; - int done = 0; - - init_dinCableCheckResType(dinCableCheckResType); - - while(!done) { - switch(grammarID) { - case 242: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCableCheckResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinCableCheckResType->DC_EVSEStatus); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinCableCheckResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType) { - int grammarID = 244; - int done = 0; - - init_dinObjectType(dinObjectType); - - while(!done) { - switch(grammarID) { - case 244: - /* 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, &dinObjectType->Encoding.charactersLen); - 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, dinObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Encoding_isUsed = 1u; - grammarID = 245; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinObjectType->Id.charactersLen); - 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, dinObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Id_isUsed = 1u; - grammarID = 246; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 4: - done = 1; - grammarID = 5; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 245: - /* 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, &dinObjectType->Id.charactersLen); - 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, dinObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Id_isUsed = 1u; - grammarID = 246; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 3: - done = 1; - grammarID = 5; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* 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, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType) { - int grammarID = 223; - int done = 0; - - init_dinSessionStopResType(dinSessionStopResType); - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinSessionStopResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType) { - int grammarID = 247; - int done = 0; - - init_dinSignedInfoType(dinSignedInfoType); - - while(!done) { - switch(grammarID) { - case 247: - /* 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, &dinSignedInfoType->Id.charactersLen); - 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, dinSignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignedInfoType->Id_isUsed = 1u; - grammarID = 248; - break; - case 1: - errn = decode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod); - grammarID = 249; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 248: - /* 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_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod); - grammarID = 249; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* 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_dinSignatureMethodType(stream, &dinSignedInfoType->SignatureMethod); - grammarID = 250; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSignedInfoType->Reference.arrayLen < dinSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinSignedInfoType->Reference.array[dinSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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 (dinSignedInfoType->Reference.arrayLen < dinSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinSignedInfoType->Reference.array[dinSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType) { - int grammarID = 251; - int done = 0; - - init_dinSalesTariffType(dinSalesTariffType); - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSalesTariffType->Id.charactersLen); - 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, dinSalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 252; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinSalesTariffType->SalesTariffID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 253; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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, &dinSalesTariffType->SalesTariffDescription.charactersLen); - 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, dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSalesTariffType->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:2010:MsgDataTypes}SalesTariffDescription) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 254; - } 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)); - dinSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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)); - dinSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffType->SalesTariffEntry.arrayLen < dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array[dinSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffType->SalesTariffEntry.arrayLen < dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array[dinSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType) { - int grammarID = 257; - int done = 0; - - init_dinCostType(dinCostType); - - while(!done) { - switch(grammarID) { - case 257: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCostType->costKind = (dincostKindType) 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:2010:MsgDataTypes}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 258; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCostType->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:2010:MsgDataTypes}amount) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), 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, 3, &(uint32)); - dinCostType->amountMultiplier = (int8_t)(uint32 -3); - dinCostType->amountMultiplier_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -static int decode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType) { - int grammarID = 260; - int done = 0; - - init_dinServiceChargeType(dinServiceChargeType); - - while(!done) { - switch(grammarID) { - case 260: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagType(stream, &dinServiceChargeType->ServiceTag); - grammarID = 261; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceChargeType->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:2010:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 262; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ - 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); - dinServiceChargeType->EnergyTransferType = (dinEVSESupportedEnergyTransferType) 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:2010:MsgDataTypes}EnergyTransferType) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - int grammarID = 263; - int done = 0; - - init_dinDC_EVSEStatusType(dinDC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010: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, 2, &uint32); - dinDC_EVSEStatusType->EVSEIsolationStatus = (dinisolationLevelType) uint32; - dinDC_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:2010:MsgDataTypes}EVSEIsolationStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } 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); - dinDC_EVSEStatusType->EVSEStatusCode = (dinDC_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:2010:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinDC_EVSEStatusType->EVSEStatusCode = (dinDC_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:2010:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = decodeUnsignedInteger32(stream, &dinDC_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:2010:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinDC_EVSEStatusType->EVSENotification = (dinEVSENotificationType) 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:2010:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType) { - int grammarID = 265; - int done = 0; - - init_dinRetrievalMethodType(dinRetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 265: - /* 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, &dinRetrievalMethodType->Type.charactersLen); - 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, dinRetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->Type_isUsed = 1u; - grammarID = 266; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinRetrievalMethodType->URI.charactersLen); - 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, dinRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->URI_isUsed = 1u; - grammarID = 267; - break; - case 2: - errn = decode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 266: - /* 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, &dinRetrievalMethodType->URI.charactersLen); - 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, dinRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->URI_isUsed = 1u; - grammarID = 267; - break; - case 1: - errn = decode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 267: - /* 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_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType) { - int grammarID = 268; - int done = 0; - - init_dinNotificationType(dinNotificationType); - - while(!done) { - switch(grammarID) { - case 268: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ - 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); - dinNotificationType->FaultCode = (dinfaultCodeType) 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:2010:MsgDataTypes}FaultCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 269; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ - 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, &dinNotificationType->FaultMsg.charactersLen); - 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, dinNotificationType_FaultMsg_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinNotificationType->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:2010:MsgDataTypes}FaultMsg) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType) { - int grammarID = 270; - int done = 0; - - init_dinPGPDataType(dinPGPDataType); - - while(!done) { - switch(grammarID) { - case 270: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyID.bytesLen) <= dinPGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyID.bytesLen, dinPGPDataType->PGPKeyID.bytes); - } - dinPGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 271; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyPacket.bytesLen) <= dinPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytesLen, dinPGPDataType->PGPKeyPacket.bytes); - } - dinPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 272; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyPacket.bytesLen) <= dinPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytesLen, dinPGPDataType->PGPKeyPacket.bytes); - } - dinPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 272; - } 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 = 272; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 272; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - int grammarID = 273; - int done = 0; - - init_dinCertificateInstallationResType(dinCertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 273: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationResType->Id.charactersLen); - 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, dinCertificateInstallationResType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 274; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCertificateInstallationResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 275; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateInstallationResType->ContractSignatureCertChain); - grammarID = 276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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, &dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.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:2010:MsgBody}ContractSignatureEncryptedPrivateKey) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 277; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateInstallationResType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->DHParams.bytesLen) <= dinCertificateInstallationResType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationResType->DHParams.bytesLen, dinCertificateInstallationResType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateInstallationResType->ContractID.charactersLen); - 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, dinCertificateInstallationResType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType) { - int grammarID = 279; - int done = 0; - - init_dinSignaturePropertyType(dinSignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 279: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Id.charactersLen); - 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, dinSignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->Id_isUsed = 1u; - grammarID = 280; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - 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, dinSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 281; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - 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, dinSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 281; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* 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 = 20; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 282; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* 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 = 20; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 282; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType) { - int grammarID = 283; - int done = 0; - - init_dinMeterInfoType(dinMeterInfoType); - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeterInfoType->MeterID.charactersLen); - 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, dinMeterInfoType_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:2010:MsgDataTypes}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinMeterInfoType->MeterReading); - dinMeterInfoType->MeterReading_isUsed = 1u; - grammarID = 285; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (dinMeterInfoType->SigMeterReading.bytesLen) <= dinMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeterInfoType->SigMeterReading.bytesLen, dinMeterInfoType->SigMeterReading.bytes); - } - dinMeterInfoType->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:2010:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 286; - } 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, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (dinMeterInfoType->SigMeterReading.bytesLen) <= dinMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeterInfoType->SigMeterReading.bytesLen, dinMeterInfoType->SigMeterReading.bytes); - } - dinMeterInfoType->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:2010:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 286; - } 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, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType) { - int grammarID = 288; - int done = 0; - - init_dinSubCertificatesType(dinSubCertificatesType); - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSubCertificatesType->Certificate.arrayLen < dinSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen) <= dinSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytes); - } - dinSubCertificatesType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSubCertificatesType->Certificate.arrayLen < dinSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen) <= dinSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytes); - } - dinSubCertificatesType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010: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:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_dinEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_dinAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_dinAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); - exiDoc->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus); - exiDoc->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = decode_dinBodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = decode_dinCableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = decode_dinCableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_dinCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = decode_dinCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = decode_dinCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = decode_dinCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = decode_dinCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_dinChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_dinChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = decode_dinChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = decode_dinChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = decode_dinContractAuthenticationReqType(stream, &exiDoc->ContractAuthenticationReq); - exiDoc->ContractAuthenticationReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = decode_dinContractAuthenticationResType(stream, &exiDoc->ContractAuthenticationRes); - exiDoc->ContractAuthenticationRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = decode_dinCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = decode_dinCurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_dinDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); - exiDoc->DC_EVChargeParameter_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter); - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_dinDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); - exiDoc->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus); - exiDoc->DC_EVSEStatus_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiDoc->DC_EVStatus); - exiDoc->DC_EVStatus_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_dinDSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_dinDigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= dinEXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = decode_dinEVChargeParameterType(stream, &exiDoc->EVChargeParameter); - exiDoc->EVChargeParameter_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_dinEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter); - exiDoc->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_dinEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter); - exiDoc->EVSEChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = decode_dinEVSEStatusType(stream, &exiDoc->EVSEStatus); - exiDoc->EVSEStatus_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = decode_dinEVStatusType(stream, &exiDoc->EVStatus); - exiDoc->EVStatus_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = decode_dinEntryType(stream, &exiDoc->Entry); - exiDoc->Entry_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_dinKeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, dinEXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_dinKeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_dinManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = decode_dinMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = decode_dinMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, dinEXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_dinObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_dinPGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_dinPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = decode_dinPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = decode_dinPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = decode_dinPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = decode_dinPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = decode_dinPreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = decode_dinPreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_dinRSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_dinReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_dinRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_dinRetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = decode_dinSAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = decode_dinSASchedulesType(stream, &exiDoc->SASchedules); - exiDoc->SASchedules_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_dinSPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = decode_dinSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = decode_dinServiceChargeType(stream, &exiDoc->ServiceCharge); - exiDoc->ServiceCharge_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = decode_dinServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = decode_dinServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = decode_dinServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = decode_dinServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = decode_dinServicePaymentSelectionReqType(stream, &exiDoc->ServicePaymentSelectionReq); - exiDoc->ServicePaymentSelectionReq_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = decode_dinServicePaymentSelectionResType(stream, &exiDoc->ServicePaymentSelectionRes); - exiDoc->ServicePaymentSelectionRes_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = decode_dinSessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = decode_dinSessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = decode_dinSessionStopType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = decode_dinSessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_dinSignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_dinSignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_dinSignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_dinSignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_dinSignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_dinSignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = decode_dinIntervalType(stream, &exiDoc->TimeInterval); - exiDoc->TimeInterval_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_dinTransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_dinTransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = decode_dinAnonType_V2G_Message(stream, &exiDoc->V2G_Message); - exiDoc->V2G_Message_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = decode_dinWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = decode_dinWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_dinX509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - init_dinEXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_dinAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_dinAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ - errn = decode_dinBodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = decode_dinBodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = decode_dinCableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = decode_dinCableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_dinCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= dinEXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = decode_dinCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = decode_dinCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = decode_dinCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = decode_dinCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_dinChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_dinChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService) */ - errn = decode_dinServiceChargeType(stream, &exiFrag->ChargeService); - exiFrag->ChargeService_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}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 21: - /* START_ELEMENT({urn:iso:15118:2:2010: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 22: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ - errn = decode_dinChargingProfileType(stream, &exiFrag->ChargingProfile); - exiFrag->ChargingProfile_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ChargingProfileEntryMaxPower); - exiFrag->ChargingProfileEntryMaxPower_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2010: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 25: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = decode_dinChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = decode_dinChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost) */ - errn = decode_dinConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = decode_dinContractAuthenticationReqType(stream, &exiFrag->ContractAuthenticationReq); - exiFrag->ContractAuthenticationReq_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = decode_dinContractAuthenticationResType(stream, &exiFrag->ContractAuthenticationRes); - exiFrag->ContractAuthenticationRes_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ContractID.charactersLen); - if (errn == 0) { - if (exiFrag->ContractID.charactersLen >= 2) { - exiFrag->ContractID.charactersLen = (uint16_t)(exiFrag->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ContractID.charactersLen, exiFrag->ContractID.characters, dinEXIFragment_ContractID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ContractID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ - errn = decode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen, exiFrag->ContractSignatureEncryptedPrivateKey.bytes); - } - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ - errn = decode_dinCostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = decode_dinCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = decode_dinCurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_dinDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); - exiFrag->DC_EVChargeParameter_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter); - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_dinDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DHParams.bytesLen); - if (errn == 0) { - errn = (exiFrag->DHParams.bytesLen) <= dinEXIFragment_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DHParams.bytesLen, exiFrag->DHParams.bytes); - } - exiFrag->DHParams_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 44: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_dinDSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->DateTimeNow); - exiFrag->DateTimeNow_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 47: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_dinDigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= dinEXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EAmount); - exiFrag->EAmount_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= dinEXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVCabinConditioning); - exiFrag->EVCabinConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = decode_dinEVChargeParameterType(stream, &exiFrag->EVChargeParameter); - exiFrag->EVChargeParameter_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVEnergyCapacity); - exiFrag->EVEnergyCapacity_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVEnergyRequest); - exiFrag->EVEnergyRequest_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVErrorCode = (dinDC_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:2010:MsgDataTypes}EVMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaxCurrent); - exiFrag->EVMaxCurrent_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaxVoltage); - exiFrag->EVMaxVoltage_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMinCurrent); - exiFrag->EVMinCurrent_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_dinEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter); - exiFrag->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVRESSConditioning); - exiFrag->EVRESSConditioning_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:2010: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 69: - /* START_ELEMENT({urn:iso:15118:2:2010: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 70: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->EVRequestedEnergyTransferType = (dinEVRequestedEnergyTransferType) uint32; - exiFrag->EVRequestedEnergyTransferType_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:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_dinEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter); - exiFrag->EVSEChargeParameter_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2010: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 73: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVSEID.bytesLen) <= dinEXIFragment_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVSEID.bytesLen, exiFrag->EVSEID.bytes); - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEIsolationStatus = (dinisolationLevelType) uint32; - exiFrag->EVSEIsolationStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxVoltage); - exiFrag->EVSEMaxVoltage_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinCurrent); - exiFrag->EVSEMinCurrent_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit); - exiFrag->EVSEMinimumCurrentLimit_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit); - exiFrag->EVSEMinimumVoltageLimit_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSENotification = (dinEVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); - exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEPowerLimitAchieved); - exiFrag->EVSEPowerLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSEProcessing = (dinEVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 95: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = decode_dinEVSEStatusType(stream, &exiFrag->EVSEStatus); - exiFrag->EVSEStatus_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVSEStatusCode = (dinDC_EVSEStatusCodeType) uint32; - exiFrag->EVSEStatusCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEVoltageLimitAchieved); - exiFrag->EVSEVoltageLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = decode_dinEVStatusType(stream, &exiFrag->EVStatus); - exiFrag->EVStatus_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 101: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EnergyTransferType = (dinEVSESupportedEnergyTransferType) uint32; - exiFrag->EnergyTransferType_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = decode_dinEntryType(stream, &exiFrag->Entry); - exiFrag->Entry_isUsed = 1u; - break; - case 103: - /* 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) <= dinEXIFragment_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; - } - } - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FaultCode = (dinfaultCodeType) uint32; - exiFrag->FaultCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2010: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) { - 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, dinEXIFragment_FaultMsg_CHARACTERS_SIZE); - } 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; - } - } - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2010: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; - } - } - break; - case 108: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= dinEXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.charactersLen); - if (errn == 0) { - if (exiFrag->GenChallenge.charactersLen >= 2) { - exiFrag->GenChallenge.charactersLen = (uint16_t)(exiFrag->GenChallenge.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->GenChallenge.charactersLen, exiFrag->GenChallenge.characters, dinEXIFragment_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 110: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header) */ - errn = decode_dinMessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= dinEXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_dinKeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, dinEXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 115: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_dinKeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 116: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 117: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_dinManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, dinEXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ - errn = decode_dinMeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 120: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->MeterReading); - exiFrag->MeterReading_isUsed = 1u; - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = decode_dinMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = decode_dinMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 124: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, dinEXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 125: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= dinEXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 126: - /* START_ELEMENT({urn:iso:15118:2:2010: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 127: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification) */ - errn = decode_dinNotificationType(stream, &exiFrag->Notification); - exiFrag->Notification_isUsed = 1u; - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 130: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= dinEXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 131: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_dinObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 132: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= dinEXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 133: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_dinPGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 134: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= dinEXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= dinEXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule) */ - errn = decode_dinPMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_dinPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->PMaxScheduleID); - exiFrag->PMaxScheduleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter) */ - errn = decode_dinParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet) */ - errn = decode_dinParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = decode_dinPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = decode_dinPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (dinpaymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions) */ - errn = decode_dinPaymentOptionsType(stream, &exiFrag->PaymentOptions); - exiFrag->PaymentOptions_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= dinEXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = decode_dinPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = decode_dinPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->PowerSwitchClosed); - exiFrag->PowerSwitchClosed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = decode_dinPreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = decode_dinPreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 153: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry) */ - errn = decode_dinProfileEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 154: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= dinEXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 155: - /* START_ELEMENT({urn:iso:15118:2:2010: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 156: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_dinRSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 157: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReadyToChargeState); - exiFrag->ReadyToChargeState_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 159: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_dinReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_dinRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC); - exiFrag->RemainingTimeToBulkSoC_isUsed = 1u; - break; - case 162: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC); - exiFrag->RemainingTimeToFullSoC_isUsed = 1u; - break; - case 163: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (dinresponseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 164: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_dinRetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 165: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->RootCertificateID.charactersLen); - if (errn == 0) { - if (exiFrag->RootCertificateID.charactersLen >= 2) { - exiFrag->RootCertificateID.charactersLen = (uint16_t)(exiFrag->RootCertificateID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->RootCertificateID.charactersLen, exiFrag->RootCertificateID.characters, dinEXIFragment_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->RootCertificateID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = decode_dinSAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 168: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple) */ - errn = decode_dinSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 169: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 170: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = decode_dinSASchedulesType(stream, &exiFrag->SASchedules); - exiFrag->SASchedules_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_dinSPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= dinEXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff) */ - errn = decode_dinSalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = decode_dinSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SalesTariffID); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 178: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= dinEXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (dinpaymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService) */ - errn = decode_dinSelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList) */ - errn = decode_dinSelectedServiceListType(stream, &exiFrag->SelectedServiceList); - exiFrag->SelectedServiceList_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ - errn = decode_dinServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (dinserviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (dinserviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = decode_dinServiceChargeType(stream, &exiFrag->ServiceCharge); - exiFrag->ServiceCharge_isUsed = 1u; - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = decode_dinServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = decode_dinServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = decode_dinServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = decode_dinServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 192: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ - errn = decode_dinServiceTagListType(stream, &exiFrag->ServiceList); - exiFrag->ServiceList_isUsed = 1u; - break; - case 193: - /* START_ELEMENT({urn:iso:15118:2:2010: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) { - 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, dinEXIFragment_ServiceName_CHARACTERS_SIZE); - } 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 194: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList) */ - errn = decode_dinServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = decode_dinServicePaymentSelectionReqType(stream, &exiFrag->ServicePaymentSelectionReq); - exiFrag->ServicePaymentSelectionReq_isUsed = 1u; - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = decode_dinServicePaymentSelectionResType(stream, &exiFrag->ServicePaymentSelectionRes); - exiFrag->ServicePaymentSelectionRes_isUsed = 1u; - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, dinEXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, dinEXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ - errn = decode_dinServiceTagType(stream, &exiFrag->ServiceTag); - exiFrag->ServiceTag_isUsed = 1u; - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= dinEXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= dinEXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = decode_dinSessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 203: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = decode_dinSessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 204: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = decode_dinSessionStopType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = decode_dinSessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 206: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= dinEXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_dinSignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_dinSignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 209: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_dinSignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 210: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_dinSignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_dinSignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 212: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_dinSignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates) */ - errn = decode_dinSubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = decode_dinIntervalType(stream, &exiFrag->TimeInterval); - exiFrag->TimeInterval_isUsed = 1u; - break; - case 216: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_dinTransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_dinTransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->Unit = (dinunitSymbolType) uint32; - exiFrag->Unit_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = decode_dinAnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 221: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = decode_dinWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 222: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = decode_dinWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 223: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= dinEXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 224: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= dinEXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 225: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_dinX509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 226: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, dinEXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 227: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_dinX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 228: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= dinEXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, dinEXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 231: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, dinEXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 232: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= dinEXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->amount); - exiFrag->amount_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_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; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (dincostKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 238: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 239: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 241: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 243: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 244: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, dinEXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (eventCode != 246) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/Port/vc2022/src/din/dinEXIDatatypesDecoder.h b/Port/vc2022/src/din/dinEXIDatatypesDecoder.h deleted file mode 100644 index d1cb133..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_din_DATATYPES_DECODER_H -#define EXI_din_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "dinEXIDatatypes.h" - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/din/dinEXIDatatypesEncoder.c b/Port/vc2022/src/din/dinEXIDatatypesEncoder.c deleted file mode 100644 index 08a2cca..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypesEncoder.c +++ /dev/null @@ -1,12826 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "dinEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "dinEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_din_DATATYPES_ENCODER_C -#define EXI_din_DATATYPES_ENCODER_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -static int encode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType); -static int encode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType); -static int encode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType); -static int encode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType); -static int encode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType); -static int encode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType); -static int encode_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -static int encode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType); -static int encode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -static int encode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType); -static int encode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType); -static int encode_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType); -static int encode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -static int encode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType); -static int encode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType); -static int encode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -static int encode_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType); -static int encode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -static int encode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -static int encode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -static int encode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType); -static int encode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -static int encode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType); -static int encode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType); -static int encode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -static int encode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -static int encode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType); -static int encode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType); -static int encode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -static int encode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType); -static int encode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType); -static int encode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType); -static int encode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType); -static int encode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType); -static int encode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType); -static int encode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType); -static int encode_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType); -static int encode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType); -static int encode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -static int encode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -static int encode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType); -static int encode_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType); -static int encode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType); -static int encode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType); -static int encode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType); -static int encode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType); -static int encode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType); -static int encode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType); -static int encode_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType); -static int encode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -static int encode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType); -static int encode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -static int encode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType); -static int encode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType); -static int encode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType); -static int encode_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType); -static int encode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType); -static int encode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType); -static int encode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -static int encode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -static int encode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType); -static int encode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType); -static int encode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType); -static int encode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType); -static int encode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType); -static int encode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType); -static int encode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -static int encode_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType); -static int encode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType); -static int encode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType); -static int encode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType); -static int encode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType); -static int encode_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType); -static int encode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -static int encode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType); -static int encode_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType); -static int encode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType); -static int encode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType); -static int encode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -static int encode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -static int encode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -static int encode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType); -static int encode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType); -static int encode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -static int encode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -static int encode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType); -static int encode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -static int encode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType); -static int encode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType); -static int encode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType); -static int encode_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType); -static int encode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType); -static int encode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType); -static int encode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType); -static int encode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -static int encode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType); -static int encode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType); -static int encode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType); -static int encode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType); -static int encode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType); -static int encode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType); -static int encode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType); - - - /* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int encode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ - if ( dinMeteringReceiptReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinMeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinMeteringReceiptReqType->Id.characters, dinMeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 1; - } 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)(dinMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytes, dinMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytes, dinMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - if ( dinMeteringReceiptReqType->SAScheduleTupleID_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeteringReceiptReqType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType) { - int grammarID = 6; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - if ( dinBodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &dinBodyType->BodyElement ); - } - grammarID = 4; - } else if ( dinBodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &dinBodyType->CableCheckReq ); - } - grammarID = 4; - } else if ( dinBodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &dinBodyType->CableCheckRes ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &dinBodyType->CertificateInstallationReq ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &dinBodyType->CertificateInstallationRes ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &dinBodyType->CertificateUpdateReq ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &dinBodyType->CertificateUpdateRes ); - } - grammarID = 4; - } else if ( dinBodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &dinBodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &dinBodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &dinBodyType->ChargingStatusReq ); - } - grammarID = 4; - } else if ( dinBodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &dinBodyType->ChargingStatusRes ); - } - grammarID = 4; - } else if ( dinBodyType->ContractAuthenticationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &dinBodyType->ContractAuthenticationReq ); - } - grammarID = 4; - } else if ( dinBodyType->ContractAuthenticationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &dinBodyType->ContractAuthenticationRes ); - } - grammarID = 4; - } else if ( dinBodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &dinBodyType->CurrentDemandReq ); - } - grammarID = 4; - } else if ( dinBodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &dinBodyType->CurrentDemandRes ); - } - grammarID = 4; - } else if ( dinBodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &dinBodyType->MeteringReceiptReq ); - } - grammarID = 4; - } else if ( dinBodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &dinBodyType->MeteringReceiptRes ); - } - grammarID = 4; - } else if ( dinBodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &dinBodyType->PaymentDetailsReq ); - } - grammarID = 4; - } else if ( dinBodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &dinBodyType->PaymentDetailsRes ); - } - grammarID = 4; - } else if ( dinBodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &dinBodyType->PowerDeliveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &dinBodyType->PowerDeliveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &dinBodyType->PreChargeReq ); - } - grammarID = 4; - } else if ( dinBodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &dinBodyType->PreChargeRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &dinBodyType->ServiceDetailReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &dinBodyType->ServiceDetailRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &dinBodyType->ServiceDiscoveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &dinBodyType->ServiceDiscoveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServicePaymentSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &dinBodyType->ServicePaymentSelectionReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServicePaymentSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &dinBodyType->ServicePaymentSelectionRes ); - } - grammarID = 4; - } else if ( dinBodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &dinBodyType->SessionSetupReq ); - } - grammarID = 4; - } else if ( dinBodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &dinBodyType->SessionSetupRes ); - } - grammarID = 4; - } else if ( dinBodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &dinBodyType->SessionStopReq ); - } - grammarID = 4; - } else if ( dinBodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &dinBodyType->SessionStopRes ); - } - grammarID = 4; - } else if ( dinBodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &dinBodyType->WeldingDetectionReq ); - } - grammarID = 4; - } else if ( dinBodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &dinBodyType->WeldingDetectionRes ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int encode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType) { - int grammarID = 7; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinSessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSessionSetupReqType->EVCCID.bytes, dinSessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - int grammarID = 8; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPowerDeliveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 9; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ - if ( dinPowerDeliveryResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinPowerDeliveryResType->AC_EVSEStatus ); - } - grammarID = 4; - } else if ( dinPowerDeliveryResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinPowerDeliveryResType->DC_EVSEStatus ); - } - grammarID = 4; - } else if ( dinPowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &dinPowerDeliveryResType->EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType) { - int grammarID = 10; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailResType->ServiceID); - /* 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:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ - if ( dinServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceParameterListType(stream, &dinServiceDetailResType->ServiceParameterList ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - int grammarID = 13; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinWeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinWeldingDetectionResType->DC_EVSEStatus ); - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinWeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinContractAuthenticationResType->ResponseCode); - /* 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:2010: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, 1, dinContractAuthenticationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - int grammarID = 18; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 18: - /* 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)(dinCanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->Algorithm.characters, dinCanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType) { - int grammarID = 21; - int done = 0; - int wcDone = 0; - - unsigned int dinSPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 21: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 23; - } else if ( dinSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else if ( dinSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - int grammarID = 24; - int done = 0; - - unsigned int dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ - if (dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < dinListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - 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)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].characters, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen); - dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 25; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < dinListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - 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)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].characters, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen); - dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 25; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType) { - int grammarID = 26; - int done = 0; - - unsigned int dinSelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ - if (dinSelectedServiceListType_SelectedService_currArrayIndex < dinSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array [dinSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (dinSelectedServiceListType_SelectedService_currArrayIndex < dinSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array [dinSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 27; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType) { - int grammarID = 28; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinCurrentDemandResType->DC_EVSEStatus ); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 31; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 32; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumVoltageLimit ); - } - grammarID = 36; - } else if ( dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 37; - } else if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 37; - } else if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType) { - int grammarID = 38; - int done = 0; - int wcDone = 0; - - unsigned int dinTransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 38: - /* 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)(dinTransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->Algorithm.characters, dinTransformType->Algorithm.charactersLen); - } - } - grammarID = 39; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (dinTransformType_XPath_currArrayIndex < dinTransformType->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)(dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].characters, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen); - dinTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 40; - } else if ( dinTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->ANY.characters, dinTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (dinTransformType_XPath_currArrayIndex < dinTransformType->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)(dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].characters, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen); - dinTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 40; - } else if ( dinTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->ANY.characters, dinTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 40; - } 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:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - int grammarID = 41; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 41: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinAC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EAmount ); - } - grammarID = 43; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxVoltage ); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxCurrent ); - } - grammarID = 45; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMinCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType) { - int grammarID = 46; - int done = 0; - int wcDone = 0; - - unsigned int dinX509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int dinX509DataType_X509SKI_currArrayIndex = 0; - unsigned int dinX509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int dinX509DataType_X509Certificate_currArrayIndex = 0; - unsigned int dinX509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 46: - /* 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 (dinX509DataType_X509IssuerSerial_currArrayIndex < dinX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array [dinX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 47; - } else if (dinX509DataType_X509SKI_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytes, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen); - dinX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509SubjectName_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].characters, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen); - dinX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509Certificate_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytes, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen); - dinX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509CRL_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytes, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen); - dinX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* 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 (dinX509DataType_X509IssuerSerial_currArrayIndex < dinX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array [dinX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 47; - } else if (dinX509DataType_X509SKI_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytes, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen); - dinX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509SubjectName_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].characters, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen); - dinX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509Certificate_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytes, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen); - dinX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509CRL_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytes, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen); - dinX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 47; - } else if ( dinX509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType) { - int grammarID = 48; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 48: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinChargingStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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)(dinChargingStatusResType->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinChargingStatusResType->EVSEID.bytes, dinChargingStatusResType->EVSEID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinChargingStatusResType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 51; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - if ( dinChargingStatusResType->EVSEMaxCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinChargingStatusResType->EVSEMaxCurrent ); - } - grammarID = 52; - } else if ( dinChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo ); - } - grammarID = 53; - } 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, dinChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - if ( dinChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo ); - } - grammarID = 53; - } 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, dinChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - 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, dinChargingStatusResType->ReceiptRequired); - /* 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:2010:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - int grammarID = 55; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinWeldingDetectionReqType->DC_EVStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - int grammarID = 56; - int done = 0; - - unsigned int dinSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 56: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( dinSignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertiesType->Id.characters, dinSignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 57; - } else if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - if ( dinContractAuthenticationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinContractAuthenticationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->Id.characters, dinContractAuthenticationReqType->Id.charactersLen); - } - } - grammarID = 60; - } else if ( dinContractAuthenticationReqType->GenChallenge_isUsed == 1u ) { - 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)(dinContractAuthenticationReqType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - if ( dinContractAuthenticationReqType->GenChallenge_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)(dinContractAuthenticationReqType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - int grammarID = 61; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 61: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinDC_EVPowerDeliveryParameterType->DC_EVStatus ); - } - grammarID = 62; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ - if ( dinDC_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, dinDC_EVPowerDeliveryParameterType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 63; - } 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, dinDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType) { - int grammarID = 55; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinCableCheckReqType->DC_EVStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - int grammarID = 65; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinDC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumCurrentLimit ); - } - grammarID = 67; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumPowerLimit ); - } - grammarID = 68; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 69; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 69; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyCapacity ); - } - grammarID = 70; - } else if ( dinDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 71; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 71; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -static int encode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType) { - int grammarID = 73; - int done = 0; - - unsigned int dinSAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 73: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ - if (dinSAScheduleListType_SAScheduleTuple_currArrayIndex < dinSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array [dinSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 74; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (dinSAScheduleListType_SAScheduleTuple_currArrayIndex < dinSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array [dinSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType) { - int grammarID = 75; - int done = 0; - - unsigned int dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 75: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPMaxScheduleType->PMaxScheduleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 76; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ - if (dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < dinPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array [dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 77; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < dinPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array [dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 77; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int encode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - int grammarID = 78; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServicePaymentSelectionReqType->SelectedPaymentOption); - /* 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:2010:MsgBody}SelectedServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceListType(stream, &dinServicePaymentSelectionReqType->SelectedServiceList ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - int grammarID = 80; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ - 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, dinRelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 81; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ - if ( dinRelativeTimeIntervalType->duration_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, dinRelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType) { - int grammarID = 13; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinPreChargeResType->DC_EVSEStatus ); - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeResType->EVSEPresentVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - int grammarID = 82; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinDC_EVSEChargeParameterType->DC_EVSEStatus ); - } - grammarID = 83; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit ); - } - grammarID = 84; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit ); - } - grammarID = 85; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 86; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 86; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit ); - } - grammarID = 87; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit ); - } - grammarID = 88; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 89; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -static int encode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - int grammarID = 91; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 91: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPaymentDetailsResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 92; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ - 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)(dinPaymentDetailsResType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinPaymentDetailsResType->GenChallenge.characters, dinPaymentDetailsResType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 93; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ - 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, dinPaymentDetailsResType->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType) { - int grammarID = 94; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 94: - /* 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 ( dinDSAKeyValueType->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)(dinDSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->P.bytes, dinDSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 95; - } else if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->G.bytes, dinDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 95: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Q.bytes, dinDSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 98; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->G.bytes, dinDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->J.bytes, dinDSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 99; - } else if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Seed.bytes, dinDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Seed.bytes, dinDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->PgenCounter.bytes, dinDSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - int grammarID = 101; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinCertificateUpdateResType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateResType->Id.characters, dinCertificateUpdateResType->Id.charactersLen); - } - } - grammarID = 102; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCertificateUpdateResType->ResponseCode); - /* 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:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 104; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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)(dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytes, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 105; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateUpdateResType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateResType->DHParams.bytes, dinCertificateUpdateResType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 106; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateUpdateResType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateResType->ContractID.characters, dinCertificateUpdateResType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 107; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ - 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, dinCertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType) { - int grammarID = 108; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinMessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMessageHeaderType->SessionID.bytes, dinMessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 109; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( dinMessageHeaderType->Notification_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinNotificationType(stream, &dinMessageHeaderType->Notification ); - } - grammarID = 110; - } else if ( dinMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &dinMessageHeaderType->Signature ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 110: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( dinMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &dinMessageHeaderType->Signature ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType) { - int grammarID = 111; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 111: - /* 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 ( dinKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue ); - } - grammarID = 112; - } else if ( dinKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue ); - } - grammarID = 112; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 112; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 113; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 112: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinKeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 112; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* 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 ( dinKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue ); - } - grammarID = 112; - } else if ( dinKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue ); - } - grammarID = 112; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 112; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 113; - } 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:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - int grammarID = 114; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 114: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, dinChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ - if ( dinChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &dinChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 117; - } else if ( dinChargeParameterDiscoveryResType->SASchedules_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &dinChargeParameterDiscoveryResType->SASchedules ); - } - grammarID = 117; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ - if ( dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - int grammarID = 118; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ - 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, dinPowerDeliveryReqType->ReadyToChargeState); - /* 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:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( dinPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinChargingProfileType(stream, &dinPowerDeliveryReqType->ChargingProfile ); - } - grammarID = 120; - } else if ( dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if ( dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if ( dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType) { - int grammarID = 121; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinCertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateChainType->Certificate.bytes, dinCertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 122; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( dinCertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSubCertificatesType(stream, &dinCertificateChainType->SubCertificates ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType) { - int grammarID = 123; - int done = 0; - - unsigned int dinTransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 123: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (dinTransformsType_Transform_currArrayIndex < dinTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinTransformType(stream, &dinTransformsType->Transform.array [dinTransformsType_Transform_currArrayIndex++]); - } - grammarID = 124; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (dinTransformsType_Transform_currArrayIndex < dinTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformType(stream, &dinTransformsType->Transform.array [dinTransformsType_Transform_currArrayIndex++]); - } - grammarID = 124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int encode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType) { - int grammarID = 125; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinEntryType->RelativeTimeInterval ); - } - grammarID = 4; - } else if ( dinEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinEntryType->TimeInterval ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int encode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType) { - int grammarID = 126; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType) { - int grammarID = 18; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 18: - /* 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)(dinDigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->Algorithm.characters, dinDigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->ANY.characters, dinDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->ANY.characters, dinDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int encode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType) { - int grammarID = 127; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 127: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinParameterType->Name.characters, dinParameterType->Name.charactersLen); - } - } - grammarID = 128; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, dinParameterType->ValueType); - } - grammarID = 129; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 129: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ - if ( dinParameterType->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, dinParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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)(dinParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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, dinParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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, dinParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinParameterType->physicalValue ); - } - grammarID = 4; - } else if ( dinParameterType->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)(dinParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinParameterType->stringValue.characters, dinParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType) { - int grammarID = 130; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 130: - /* 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)(dinSignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->Algorithm.characters, dinSignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 131; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 131: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinSignatureMethodType->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, dinSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 132; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinSignatureMethodType->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, dinSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 132; - } 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:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - int grammarID = 133; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 133: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ - if ( dinCertificateInstallationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationReqType->Id.characters, dinCertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 134; - } 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)(dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytes, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytes, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &dinCertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateInstallationReqType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->DHParams.bytes, dinCertificateInstallationReqType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -static int encode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - int grammarID = 137; - int done = 0; - - unsigned int dinSalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 137: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinSalesTariffEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinSalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 138; - } else if ( dinSalesTariffEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinSalesTariffEntryType->TimeInterval ); - } - grammarID = 138; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ - 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)(dinSalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (dinSalesTariffEntryType_ConsumptionCost_currArrayIndex < dinSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinConsumptionCostType(stream, &dinSalesTariffEntryType->ConsumptionCost.array [dinSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - int grammarID = 140; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDiscoveryResType->ResponseCode); - /* 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:2010:MsgBody}PaymentOptions)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPaymentOptionsType(stream, &dinServiceDiscoveryResType->PaymentOptions ); - } - grammarID = 142; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &dinServiceDiscoveryResType->ChargeService ); - } - grammarID = 143; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ - if ( dinServiceDiscoveryResType->ServiceList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceTagListType(stream, &dinServiceDiscoveryResType->ServiceList ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType) { - int grammarID = 144; - int done = 0; - - unsigned int dinParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinParameterSetType->ParameterSetID); - /* 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:2010:MsgDataTypes}Parameter)] */ - if (dinParameterSetType_Parameter_currArrayIndex < dinParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinParameterType(stream, &dinParameterSetType->Parameter.array [dinParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 146; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ - if (dinParameterSetType_Parameter_currArrayIndex < dinParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinParameterType(stream, &dinParameterSetType->Parameter.array [dinParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - int grammarID = 147; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 147: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinCurrentDemandReqType->DC_EVStatus ); - } - grammarID = 148; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 149; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumVoltageLimit ); - } - grammarID = 150; - } else if ( dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 151; - } else if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 151; - } else if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToFullSoC ); - } - grammarID = 155; - } else if ( dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 156; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 156; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType) { - int grammarID = 157; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinPreChargeReqType->DC_EVStatus ); - } - grammarID = 158; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetVoltage ); - } - grammarID = 159; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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#,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_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType) { - int grammarID = 160; - int done = 0; - - unsigned int dinSignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 160: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( dinSignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureType->Id.characters, dinSignatureType->Id.charactersLen); - } - } - grammarID = 161; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo ); - } - grammarID = 162; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo ); - } - grammarID = 162; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &dinSignatureType->SignatureValue ); - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( dinSignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &dinSignatureType->KeyInfo ); - } - grammarID = 164; - } else if (dinSignatureType_Object_currArrayIndex < dinSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinObjectType(stream, &dinSignatureType->Object.array [dinSignatureType_Object_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (dinSignatureType_Object_currArrayIndex < dinSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinObjectType(stream, &dinSignatureType->Object.array [dinSignatureType_Object_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType) { - int grammarID = 165; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 165: - /* 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 ( dinReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Id.characters, dinReferenceType->Id.charactersLen); - } - } - grammarID = 166; - } else if ( dinReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Type.characters, dinReferenceType->Type.charactersLen); - } - } - grammarID = 167; - } else if ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 166: - /* 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 ( dinReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Type.characters, dinReferenceType->Type.charactersLen); - } - } - grammarID = 167; - } else if ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* 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 ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 170: - /* 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)(dinReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinReferenceType->DigestValue.bytes, dinReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -static int encode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType) { - int grammarID = 171; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 171: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinProfileEntryType->ChargingProfileEntryStart); - /* 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:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinProfileEntryType->ChargingProfileEntryMaxPower); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int encode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - int grammarID = 173; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 173: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinMessageHeaderType(stream, &dinAnonType_V2G_Message->Header ); - } - grammarID = 174; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinBodyType(stream, &dinAnonType_V2G_Message->Body ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - int grammarID = 175; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ - 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, dinChargeParameterDiscoveryReqType->EVRequestedEnergyTransferType); - /* 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:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ - if ( dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->EVChargeParameter ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType) { - int grammarID = 177; - int done = 0; - - unsigned int dinConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 177: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ - 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, dinConsumptionCostType->startValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 178; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ - if (dinConsumptionCostType_Cost_currArrayIndex < dinConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinCostType(stream, &dinConsumptionCostType->Cost.array [dinConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType) { - int grammarID = 179; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 179: - /* 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)(dinRSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinRSAKeyValueType->Modulus.bytes, dinRSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 180; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* 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)(dinRSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinRSAKeyValueType->Exponent.bytes, dinRSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int encode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType) { - int grammarID = 181; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 181: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &dinServiceType->ServiceTag ); - } - grammarID = 182; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType) { - int grammarID = 183; - int done = 0; - - unsigned int dinServiceTagListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 183: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ - if (dinServiceTagListType_Service_currArrayIndex < dinServiceTagListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceType(stream, &dinServiceTagListType->Service.array [dinServiceTagListType_Service_currArrayIndex++]); - } - grammarID = 184; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ - if (dinServiceTagListType_Service_currArrayIndex < dinServiceTagListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceType(stream, &dinServiceTagListType->Service.array [dinServiceTagListType_Service_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType) { - int grammarID = 185; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSessionSetupResType->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:2010:MsgBody}EVSEID)] */ - 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)(dinSessionSetupResType->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSessionSetupResType->EVSEID.bytes, dinSessionSetupResType->EVSEID.bytesLen); - } - /* 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:2010:MsgBody}DateTimeNow), END_ELEMENT] */ - if ( dinSessionSetupResType->DateTimeNow_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, dinSessionSetupResType->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - int grammarID = 188; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 188: - /* 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)(dinX509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509IssuerSerialType->X509IssuerName.characters, dinX509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 189; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* 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, dinX509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType) { - int grammarID = 190; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 190: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 191; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - if ( dinSelectedServiceType->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, dinSelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - int grammarID = 192; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 192: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinMeteringReceiptResType->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:2010:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinMeteringReceiptResType->AC_EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType) { - int grammarID = 193; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 193: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVStatusType->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 194; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - if ( dinDC_EVStatusType->EVCabinConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVCabinConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 195; - } else if ( dinDC_EVStatusType->EVRESSConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - if ( dinDC_EVStatusType->EVRESSConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 196; - } 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, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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)(dinDC_EVStatusType->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int encode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType) { - int grammarID = 198; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinPhysicalValueType->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ - if ( dinPhysicalValueType->Unit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, dinPhysicalValueType->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 200; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinPhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType) { - int grammarID = 201; - int done = 0; - - unsigned int dinManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 201: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( dinManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinManifestType->Id.characters, dinManifestType->Id.charactersLen); - } - } - grammarID = 202; - } else if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 202: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int encode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - int grammarID = 204; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 204: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinPMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 205; - } else if ( dinPMaxScheduleEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinPMaxScheduleEntryType->TimeInterval ); - } - grammarID = 205; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPMaxScheduleEntryType->PMax); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType) { - int grammarID = 206; - int done = 0; - - unsigned int dinServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 206: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ - if (dinServiceParameterListType_ParameterSet_currArrayIndex < dinServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array [dinServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 207; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (dinServiceParameterListType_ParameterSet_currArrayIndex < dinServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array [dinServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType) { - int grammarID = 208; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 208: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( dinSignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureValueType->Id.characters, dinSignatureValueType->Id.charactersLen); - } - } - grammarID = 209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSignatureValueType->CONTENT.bytes, dinSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSignatureValueType->CONTENT.bytes, dinSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType) { - int grammarID = 210; - int done = 0; - - unsigned int dinPaymentOptionsType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ - if (dinPaymentOptionsType_PaymentOption_currArrayIndex < dinPaymentOptionsType->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, dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 211; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (dinPaymentOptionsType_PaymentOption_currArrayIndex < dinPaymentOptionsType->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, dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType) { - int grammarID = 212; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceTagType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 213; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ - if ( dinServiceTagType->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)(dinServiceTagType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceTagType->ServiceName.characters, dinServiceTagType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } 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, dinServiceTagType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 215; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceTagType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 215; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ - if ( dinServiceTagType->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)(dinServiceTagType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceTagType->ServiceScope.characters, dinServiceTagType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - int grammarID = 216; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 216: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ - 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, dinAC_EVSEStatusType->PowerSwitchClosed); - /* 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:2010: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, dinAC_EVSEStatusType->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = encodeUnsignedInteger32(stream, dinAC_EVSEStatusType->NotificationMaxDelay); - /* 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:2010: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, dinAC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - int grammarID = 220; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 220: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( dinCertificateUpdateReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateReqType->Id.characters, dinCertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 221; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 221: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateUpdateReqType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateReqType->ContractID.characters, dinCertificateUpdateReqType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &dinCertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateUpdateReqType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateReqType->DHParams.bytes, dinCertificateUpdateReqType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - int grammarID = 223; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServicePaymentSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - int grammarID = 224; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 224: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinSAScheduleTupleType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 225; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleType(stream, &dinSAScheduleTupleType->PMaxSchedule ); - } - grammarID = 226; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ - if ( dinSAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSalesTariffType(stream, &dinSAScheduleTupleType->SalesTariff ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType) { - int grammarID = 227; - int done = 0; - - unsigned int dinChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 227: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinChargingProfileType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 228; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ - if (dinChargingProfileType_ProfileEntry_currArrayIndex < dinChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array [dinChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (dinChargingProfileType_ProfileEntry_currArrayIndex < dinChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array [dinChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - int grammarID = 230; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( dinServiceDiscoveryReqType->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)(dinServiceDiscoveryReqType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceDiscoveryReqType->ServiceScope.characters, dinServiceDiscoveryReqType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 231; - } else if ( dinServiceDiscoveryReqType->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, dinServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( dinServiceDiscoveryReqType->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, dinServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - int grammarID = 232; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinAC_EVSEChargeParameterType->AC_EVSEStatus ); - } - grammarID = 233; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxVoltage ); - } - grammarID = 234; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxCurrent ); - } - grammarID = 235; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMinCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType) { - int grammarID = 236; - int done = 0; - int wcDone = 0; - - unsigned int dinKeyInfoType_KeyName_currArrayIndex = 0; - unsigned int dinKeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int dinKeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int dinKeyInfoType_X509Data_currArrayIndex = 0; - unsigned int dinKeyInfoType_PGPData_currArrayIndex = 0; - unsigned int dinKeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int dinKeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 236: - /* 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 ( dinKeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->Id.characters, dinKeyInfoType->Id.charactersLen); - } - } - grammarID = 237; - } else if (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 238; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } 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:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int encode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - int grammarID = 240; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinPaymentDetailsReqType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinPaymentDetailsReqType->ContractID.characters, dinPaymentDetailsReqType->ContractID.charactersLen); - } - /* 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:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinPaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType) { - int grammarID = 242; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 242: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCableCheckResType->ResponseCode); - /* 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:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinCableCheckResType->DC_EVSEStatus ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, dinCableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType) { - int grammarID = 244; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 244: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Encoding.characters, dinObjectType->Encoding.charactersLen); - } - } - grammarID = 245; - } else if ( dinObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Id.characters, dinObjectType->Id.charactersLen); - } - } - grammarID = 246; - } else if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 245: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Id.characters, dinObjectType->Id.charactersLen); - } - } - grammarID = 246; - } else if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType) { - int grammarID = 223; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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#,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_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType) { - int grammarID = 247; - int done = 0; - - unsigned int dinSignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 247: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( dinSignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignedInfoType->Id.characters, dinSignedInfoType->Id.charactersLen); - } - } - grammarID = 248; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod ); - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 248: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod ); - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &dinSignedInfoType->SignatureMethod ); - } - grammarID = 250; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (dinSignedInfoType_Reference_currArrayIndex < dinSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinSignedInfoType->Reference.array [dinSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (dinSignedInfoType_Reference_currArrayIndex < dinSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinSignedInfoType->Reference.array [dinSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType) { - int grammarID = 251; - int done = 0; - - unsigned int dinSalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinSalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSalesTariffType->Id.characters, dinSalesTariffType->Id.charactersLen); - } - } - grammarID = 252; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinSalesTariffType->SalesTariffID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - if ( dinSalesTariffType->SalesTariffDescription_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)(dinSalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSalesTariffType->SalesTariffDescription.characters, dinSalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 254; - } 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)(dinSalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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)(dinSalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ - if (dinSalesTariffType_SalesTariffEntry_currArrayIndex < dinSalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array [dinSalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 256; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (dinSalesTariffType_SalesTariffEntry_currArrayIndex < dinSalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array [dinSalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType) { - int grammarID = 257; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 257: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 258; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCostType->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 259; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ - if ( dinCostType->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)(dinCostType->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -static int encode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType) { - int grammarID = 260; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 260: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &dinServiceChargeType->ServiceTag ); - } - grammarID = 261; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceChargeType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 262; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ - 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, dinServiceChargeType->EnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - int grammarID = 263; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ - if ( dinDC_EVSEStatusType->EVSEIsolationStatus_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, dinDC_EVSEStatusType->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } 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, dinDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = encodeUnsignedInteger32(stream, dinDC_EVSEStatusType->NotificationMaxDelay); - /* 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:2010: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, dinDC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType) { - int grammarID = 265; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 265: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->Type.characters, dinRetrievalMethodType->Type.charactersLen); - } - } - grammarID = 266; - } else if ( dinRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 267; - } else if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 266: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 267; - } else if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 267: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType) { - int grammarID = 268; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 268: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinNotificationType->FaultCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 269; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ - if ( dinNotificationType->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)(dinNotificationType->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinNotificationType->FaultMsg.characters, dinNotificationType->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType) { - int grammarID = 270; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 270: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyID.bytes, dinPGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 271; - } else if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytes, dinPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytes, dinPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 272; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 272; - } else if ( dinPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 272; - } else if ( dinPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - int grammarID = 273; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 273: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinCertificateInstallationResType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationResType->Id.characters, dinCertificateInstallationResType->Id.charactersLen); - } - } - grammarID = 274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 275; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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)(dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytes, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 277; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateInstallationResType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationResType->DHParams.bytes, dinCertificateInstallationResType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 278; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateInstallationResType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationResType->ContractID.characters, dinCertificateInstallationResType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType) { - int grammarID = 279; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 279: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( dinSignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Id.characters, dinSignaturePropertyType->Id.charactersLen); - } - } - grammarID = 280; - } 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)(dinSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 281; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* 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)(dinSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 281; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 282; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 282; - } 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:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType) { - int grammarID = 283; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ - 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)(dinMeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinMeterInfoType->MeterID.characters, dinMeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->MeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinMeterInfoType->MeterReading ); - } - grammarID = 285; - } else if ( dinMeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinMeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeterInfoType->SigMeterReading.bytes, dinMeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 286; - } else if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_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 = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->SigMeterReading_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)(dinMeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeterInfoType->SigMeterReading.bytes, dinMeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 286; - } else if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_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 = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->TMeter_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, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType) { - int grammarID = 288; - int done = 0; - - unsigned int dinSubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ - if (dinSubCertificatesType_Certificate_currArrayIndex < dinSubCertificatesType->Certificate.arrayLen ) { - 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)(dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytes, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen); - dinSubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 289; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ - if (dinSubCertificatesType_Certificate_currArrayIndex < dinSubCertificatesType->Certificate.arrayLen ) { - 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)(dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytes, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen); - dinSubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010: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:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 1); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter ); - } - } else if ( exiDoc->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 2); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 3); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 4); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 6); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 7); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &exiDoc->ChargingStatusRes ); - } - } else if ( exiDoc->ContractAuthenticationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &exiDoc->ContractAuthenticationReq ); - } - } else if ( exiDoc->ContractAuthenticationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &exiDoc->ContractAuthenticationRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &exiDoc->CurrentDemandRes ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter ); - } - } else if ( exiDoc->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 20); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter ); - } - } else if ( exiDoc->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 22); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus ); - } - } else if ( exiDoc->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 23); - if(errn == 0) { - errn = encode_dinDC_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); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 27); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &exiDoc->EVChargeParameter ); - } - } else if ( exiDoc->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 28); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter ); - } - } else if ( exiDoc->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter ); - } - } else if ( exiDoc->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 30); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &exiDoc->EVSEStatus ); - } - } else if ( exiDoc->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_dinEVStatusType(stream, &exiDoc->EVStatus ); - } - } else if ( exiDoc->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_dinEntryType(stream, &exiDoc->Entry ); - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 35); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 36); - if(errn == 0) { - errn = encode_dinManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 37); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_dinObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 48); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 49); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 53); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &exiDoc->SAScheduleList ); - } - } else if ( exiDoc->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &exiDoc->SASchedules ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 56); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceCharge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = encodeNBitUnsignedInteger(stream, 7, 57); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiDoc->ServiceCharge ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 58); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->ServicePaymentSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &exiDoc->ServicePaymentSelectionReq ); - } - } else if ( exiDoc->ServicePaymentSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &exiDoc->ServicePaymentSelectionRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_dinSignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &exiDoc->TimeInterval ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_dinTransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 77); - if(errn == 0) { - errn = encode_dinAnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 80); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - if ( exiFrag->AC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 1); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 2); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 3); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 8, 4); - if(errn == 0) { - errn = encode_dinBodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 8, 5); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 6); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 7); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 8); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 9); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 10); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 11); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 12); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 13); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 14); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 15); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 16); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 17); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 18); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 19); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiFrag->ChargeService ); - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 20); - if(errn == 0) { - /* 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->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 21); - if(errn == 0) { - /* 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->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 8, 22); - if(errn == 0) { - errn = encode_dinChargingProfileType(stream, &exiFrag->ChargingProfile ); - } - } else if ( exiFrag->ChargingProfileEntryMaxPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) */ - errn = encodeNBitUnsignedInteger(stream, 8, 23); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ChargingProfileEntryMaxPower); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingProfileEntryStart_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart) */ - errn = encodeNBitUnsignedInteger(stream, 8, 24); - 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->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 25); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 26); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &exiFrag->ChargingStatusRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 27); - if(errn == 0) { - errn = encode_dinConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractAuthenticationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 28); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &exiFrag->ContractAuthenticationReq ); - } - } else if ( exiFrag->ContractAuthenticationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 29); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &exiFrag->ContractAuthenticationRes ); - } - } else if ( exiFrag->ContractID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 30); - 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->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ContractID.characters, exiFrag->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 31); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 32); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytes, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 33); - if(errn == 0) { - errn = encode_dinCostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 34); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 35); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &exiFrag->CurrentDemandRes ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 36); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter ); - } - } else if ( exiFrag->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 37); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 38); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 39); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 40); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 41); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 42); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DHParams_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ - errn = encodeNBitUnsignedInteger(stream, 8, 43); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DHParams.bytes, exiFrag->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 44); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DateTimeNow_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ - errn = encodeNBitUnsignedInteger(stream, 8, 45); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ - errn = encodeNBitUnsignedInteger(stream, 8, 46); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 47); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 48); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EAmount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 49); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EAmount ); - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) */ - errn = encodeNBitUnsignedInteger(stream, 8, 50); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 51); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCabinConditioning_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) */ - errn = encodeNBitUnsignedInteger(stream, 8, 52); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVCabinConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 53); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &exiFrag->EVChargeParameter ); - } - } else if ( exiFrag->EVEnergyCapacity_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity) */ - errn = encodeNBitUnsignedInteger(stream, 8, 54); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVEnergyCapacity ); - } - } else if ( exiFrag->EVEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 55); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVEnergyRequest ); - } - } else if ( exiFrag->EVErrorCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 57); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaxCurrent ); - } - } else if ( exiFrag->EVMaxVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 58); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaxVoltage ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 59); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 60); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 61); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 62); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 63); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 64); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMinCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 65); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMinCurrent ); - } - } else if ( exiFrag->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 66); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter ); - } - } else if ( exiFrag->EVRESSConditioning_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) */ - errn = encodeNBitUnsignedInteger(stream, 8, 67); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVRESSSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 68); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVReady_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady) */ - errn = encodeNBitUnsignedInteger(stream, 8, 69); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVRequestedEnergyTransferType_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType) */ - errn = encodeNBitUnsignedInteger(stream, 8, 70); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EVRequestedEnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 71); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter ); - } - } else if ( exiFrag->EVSECurrentLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 72); - 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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 8, 73); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 8, 74); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 75); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVSEID.bytes, exiFrag->EVSEID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 76); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 77); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 78); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 79); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxVoltage ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 80); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 81); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 82); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 83); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 84); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 85); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMinCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 86); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinCurrent ); - } - } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 87); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit ); - } - } else if ( exiFrag->EVSEMinimumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 88); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 89); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 90); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple ); - } - } else if ( exiFrag->EVSEPowerLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 91); - 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); - } - } - } else if ( exiFrag->EVSEPresentCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 92); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 93); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 8, 94); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 95); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSEStatusCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 96); - 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); - } - } - } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 97); - 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:2010:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 98); - if(errn == 0) { - errn = encode_dinEVStatusType(stream, &exiFrag->EVStatus ); - } - } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 99); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 100); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EnergyTransferType_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ - errn = encodeNBitUnsignedInteger(stream, 8, 101); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 102); - if(errn == 0) { - errn = encode_dinEntryType(stream, &exiFrag->Entry ); - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 103); - 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:2010:MsgDataTypes}FaultCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FaultCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FaultMsg_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg) */ - errn = encodeNBitUnsignedInteger(stream, 8, 105); - 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); - } - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 106); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FullSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 107); - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 8, 108); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 109); - 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->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->GenChallenge.characters, exiFrag->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 8, 110); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 8, 111); - if(errn == 0) { - errn = encode_dinMessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->J_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - errn = encodeNBitUnsignedInteger(stream, 8, 112); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 113); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 114); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 115); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 8, 116); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 117); - if(errn == 0) { - errn = encode_dinManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MeterID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 118); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 119); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 120); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->MeterReading ); - } - } else if ( exiFrag->MeterStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 121); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 122); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 123); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 124); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 125); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Multiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 126); - 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:2010:MsgHeader}Notification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 127); - if(errn == 0) { - errn = encode_dinNotificationType(stream, &exiFrag->Notification ); - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 8, 128); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 8, 129); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 8, 130); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 8, 131); - if(errn == 0) { - errn = encode_dinObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 8, 132); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 133); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 134); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 8, 135); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 8, 136); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->PMax); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 8, 137); - if(errn == 0) { - errn = encode_dinPMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 138); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->PMaxScheduleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 139); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->PMaxScheduleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 140); - if(errn == 0) { - errn = encode_dinParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 8, 141); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 142); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 143); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 144); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 145); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptions_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions) */ - errn = encodeNBitUnsignedInteger(stream, 8, 146); - if(errn == 0) { - errn = encode_dinPaymentOptionsType(stream, &exiFrag->PaymentOptions ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 147); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 148); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 149); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PowerSwitchClosed_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 150); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->PowerSwitchClosed); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 151); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 152); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 153); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 8, 154); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RCD_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD) */ - errn = encodeNBitUnsignedInteger(stream, 8, 155); - 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, 156); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReadyToChargeState_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) */ - errn = encodeNBitUnsignedInteger(stream, 8, 157); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReadyToChargeState); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 8, 158); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 8, 159); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 160); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval ); - } - } else if ( exiFrag->RemainingTimeToBulkSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 161); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC ); - } - } else if ( exiFrag->RemainingTimeToFullSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 162); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC ); - } - } else if ( exiFrag->ResponseCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 163); - 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, 164); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 165); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 166); - 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->RootCertificateID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->RootCertificateID.characters, exiFrag->RootCertificateID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 167); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 168); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 169); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 170); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 8, 171); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &exiFrag->SASchedules ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 172); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 173); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 8, 174); - if(errn == 0) { - errn = encode_dinSalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 8, 175); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 176); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 177); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SalesTariffID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 178); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 179); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 180); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 181); - if(errn == 0) { - errn = encode_dinSelectedServiceListType(stream, &exiFrag->SelectedServiceList ); - } - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 8, 182); - if(errn == 0) { - errn = encode_dinServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 183); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 184); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCharge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 185); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiFrag->ServiceCharge ); - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 186); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 187); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 188); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 189); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 190); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 191); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 192); - if(errn == 0) { - errn = encode_dinServiceTagListType(stream, &exiFrag->ServiceList ); - } - } else if ( exiFrag->ServiceName_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 193); - 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:2010:MsgBody}ServiceParameterList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 194); - if(errn == 0) { - errn = encode_dinServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->ServicePaymentSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 195); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &exiFrag->ServicePaymentSelectionReq ); - } - } else if ( exiFrag->ServicePaymentSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 196); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &exiFrag->ServicePaymentSelectionRes ); - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 197); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 198); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceTag_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ - errn = encodeNBitUnsignedInteger(stream, 8, 199); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &exiFrag->ServiceTag ); - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 200); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 201); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 202); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 203); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 204); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 205); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 206); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 8, 207); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 208); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 8, 209); - if(errn == 0) { - errn = encode_dinSignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 8, 210); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 211); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 212); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 8, 213); - if(errn == 0) { - errn = encode_dinSubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 214); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 215); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &exiFrag->TimeInterval ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 8, 216); - if(errn == 0) { - errn = encode_dinTransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 8, 217); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->Unit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 218); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 8, 219); - if(errn == 0) { - errn = encode_dinAnonType_V2G_Message(stream, &exiFrag->V2G_Message ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 8, 220); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 221); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 222); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 8, 223); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 224); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 8, 225); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 226); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 8, 227); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 8, 228); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 8, 229); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 230); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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, 231); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 8, 232); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->amount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 233); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->amountMultiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 234); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 235); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 236); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 8, 237); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 8, 238); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 239); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 240); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 241); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 8, 242); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 243); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->startValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 244); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 8, 246); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/Port/vc2022/src/din/dinEXIDatatypesEncoder.h b/Port/vc2022/src/din/dinEXIDatatypesEncoder.h deleted file mode 100644 index 5e4c86e..0000000 --- a/Port/vc2022/src/din/dinEXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_din_DATATYPES_ENCODER_H -#define EXI_din_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "dinEXIDatatypes.h" - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypes.c b/Port/vc2022/src/iso1/iso1EXIDatatypes.c deleted file mode 100644 index 3a2ea6e..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypes.c +++ /dev/null @@ -1,992 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "iso1EXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_iso1_DATATYPES_C -#define EXI_iso1_DATATYPES_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - - -void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc) { - exiDoc->V2G_Message_isUsed = 0u; - exiDoc->ServiceDiscoveryReq_isUsed = 0u; - exiDoc->ServiceDiscoveryRes_isUsed = 0u; - exiDoc->MeteringReceiptReq_isUsed = 0u; - exiDoc->PaymentDetailsReq_isUsed = 0u; - exiDoc->MeteringReceiptRes_isUsed = 0u; - exiDoc->PaymentDetailsRes_isUsed = 0u; - exiDoc->SessionSetupReq_isUsed = 0u; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - exiDoc->CableCheckRes_isUsed = 0u; - exiDoc->CertificateInstallationReq_isUsed = 0u; - exiDoc->CertificateInstallationRes_isUsed = 0u; - exiDoc->WeldingDetectionReq_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PaymentServiceSelectionReq_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PaymentServiceSelectionRes_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->BodyElement_isUsed = 0u; - exiDoc->CurrentDemandReq_isUsed = 0u; - exiDoc->PreChargeReq_isUsed = 0u; - exiDoc->CurrentDemandRes_isUsed = 0u; - exiDoc->PreChargeRes_isUsed = 0u; - exiDoc->SessionStopReq_isUsed = 0u; - exiDoc->AuthorizationReq_isUsed = 0u; - exiDoc->SessionStopRes_isUsed = 0u; - exiDoc->AuthorizationRes_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u; - exiDoc->ServiceDetailReq_isUsed = 0u; - exiDoc->ServiceDetailRes_isUsed = 0u; - exiDoc->DC_EVSEStatus_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_isUsed = 0u; - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->SASchedules_isUsed = 0u; - exiDoc->AC_EVChargeParameter_isUsed = 0u; - exiDoc->SAScheduleList_isUsed = 0u; - exiDoc->DC_EVStatus_isUsed = 0u; - exiDoc->EVStatus_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->AC_EVSEChargeParameter_isUsed = 0u; - exiDoc->PMaxScheduleEntry_isUsed = 0u; - exiDoc->EVChargeParameter_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag) { - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->EVMaxVoltage_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->EVRESSSOC_isUsed = 0u; - exiFrag->MeterReading_isUsed = 0u; - exiFrag->physicalValue_isUsed = 0u; - exiFrag->TimeInterval_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaxCurrent_isUsed = 0u; - exiFrag->ChargingProfileEntryStart_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->costKind_isUsed = 0u; - exiFrag->EAmount_isUsed = 0u; - exiFrag->EnergyTransferMode_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->NumEPriceLevels_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->PMax_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->BulkSOC_isUsed = 0u; - exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u; - exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; - exiFrag->SalesTariffEntry_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEIsolationStatus_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->FaultCode_isUsed = 0u; - exiFrag->RootCertificateID_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->byteValue_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->SAScheduleList_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->RetryCounter_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->SalesTariff_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->V2G_Message_isUsed = 0u; - exiFrag->EVSEMinimumVoltageLimit_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->ProfileEntry_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->start_isUsed = 0u; - exiFrag->EVErrorCode_isUsed = 0u; - exiFrag->EVChargeParameter_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->EVSEPresentCurrent_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->EVMinCurrent_isUsed = 0u; - exiFrag->FullSOC_isUsed = 0u; - exiFrag->amount_isUsed = 0u; - exiFrag->DC_EVSEChargeParameter_isUsed = 0u; - exiFrag->Entry_isUsed = 0u; - exiFrag->SessionStopRes_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->shortValue_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->PowerDeliveryReq_isUsed = 0u; - exiFrag->PowerDeliveryRes_isUsed = 0u; - exiFrag->SessionStopReq_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->Header_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->FreeService_isUsed = 0u; - exiFrag->EVSENominalVoltage_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->MeteringReceiptRes_isUsed = 0u; - exiFrag->ServiceDiscoveryReq_isUsed = 0u; - exiFrag->MeteringReceiptReq_isUsed = 0u; - exiFrag->PreChargeRes_isUsed = 0u; - exiFrag->OEMProvisioningCert_isUsed = 0u; - exiFrag->EVEnergyCapacity_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->AC_EVSEChargeParameter_isUsed = 0u; - exiFrag->ServiceDiscoveryRes_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->PreChargeReq_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->CableCheckReq_isUsed = 0u; - exiFrag->SalesTariffDescription_isUsed = 0u; - exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; - exiFrag->boolValue_isUsed = 0u; - exiFrag->EVCCID_isUsed = 0u; - exiFrag->DC_EVChargeParameter_isUsed = 0u; - exiFrag->ChargingStatusReq_isUsed = 0u; - exiFrag->CableCheckRes_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->EVSEStatus_isUsed = 0u; - exiFrag->Service_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->intValue_isUsed = 0u; - exiFrag->ChargingProfile_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ServiceName_isUsed = 0u; - exiFrag->MeterStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->ChargingStatusRes_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->Notification_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->DigestValue_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->Cost_isUsed = 0u; - exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; - exiFrag->ConsumptionCost_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->SessionSetupRes_isUsed = 0u; - exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; - exiFrag->ServiceDetailReq_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceDetailRes_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->EPriceLevel_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->RemainingTimeToBulkSoC_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->stringValue_isUsed = 0u; - exiFrag->SessionSetupReq_isUsed = 0u; - exiFrag->Multiplier_isUsed = 0u; - exiFrag->CertificateUpdateRes_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->CertificateUpdateReq_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->CertificateInstallationReq_isUsed = 0u; - exiFrag->CertificateInstallationRes_isUsed = 0u; - exiFrag->EVStatus_isUsed = 0u; - exiFrag->SupportedEnergyTransferMode_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->MaxEntriesSAScheduleTuple_isUsed = 0u; - exiFrag->PaymentOption_isUsed = 0u; - exiFrag->SubCertificates_isUsed = 0u; - exiFrag->PaymentDetailsReq_isUsed = 0u; - exiFrag->AuthorizationReq_isUsed = 0u; - exiFrag->PaymentDetailsRes_isUsed = 0u; - exiFrag->AuthorizationRes_isUsed = 0u; - exiFrag->EVSEStatusCode_isUsed = 0u; - exiFrag->PaymentOptionList_isUsed = 0u; - exiFrag->SelectedServiceList_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->WeldingDetectionReq_isUsed = 0u; - exiFrag->FaultMsg_isUsed = 0u; - exiFrag->WeldingDetectionRes_isUsed = 0u; - exiFrag->ChargeProgress_isUsed = 0u; - exiFrag->SelectedPaymentOption_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->ParameterSet_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->EVSEChargeParameter_isUsed = 0u; - exiFrag->SigMeterReading_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->SASchedules_isUsed = 0u; - exiFrag->SalesTariffID_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->ServiceParameterList_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->MeterID_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->ChargeService_isUsed = 0u; - exiFrag->amountMultiplier_isUsed = 0u; - exiFrag->RCD_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->startValue_isUsed = 0u; - exiFrag->CurrentDemandReq_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->Body_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->Value_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->AC_EVChargeParameter_isUsed = 0u; - exiFrag->PMaxScheduleEntry_isUsed = 0u; - exiFrag->Parameter_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->SelectedService_isUsed = 0u; - exiFrag->PaymentServiceSelectionReq_isUsed = 0u; - exiFrag->PaymentServiceSelectionRes_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->CurrentDemandRes_isUsed = 0u; - exiFrag->EVReady_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->PMaxSchedule_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->Unit_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; - exiFrag->EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; - exiFrag->duration_isUsed = 0u; - exiFrag->TMeter_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->ServiceList_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->SAScheduleTuple_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->BodyElement_isUsed = 0u; - exiFrag->RemainingTimeToFullSoC_isUsed = 0u; - exiFrag->RelativeTimeInterval_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->DepartureTime_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->EVEnergyRequest_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->ChargingSession_isUsed = 0u; - exiFrag->RequestedEnergyTransferMode_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; -} -void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag) { - exiFrag->Id_isUsed = 0u; - exiFrag->CHARACTERS_GENERIC_isUsed = 0u; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - -void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType) { - iso1MessageHeaderType->Notification_isUsed = 0u; - iso1MessageHeaderType->Signature_isUsed = 0u; -} - -void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType) { - iso1SignatureType->Id_isUsed = 0u; - iso1SignatureType->KeyInfo_isUsed = 0u; - iso1SignatureType->Object.arrayLen = 0u; -} - -void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - iso1PowerDeliveryReqType->ChargingProfile_isUsed = 0u; - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u; - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u; -} - -void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType) { - iso1ParameterType->boolValue_isUsed = 0u; - iso1ParameterType->byteValue_isUsed = 0u; - iso1ParameterType->shortValue_isUsed = 0u; - iso1ParameterType->intValue_isUsed = 0u; - iso1ParameterType->physicalValue_isUsed = 0u; - iso1ParameterType->stringValue_isUsed = 0u; -} - -void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - (void)iso1CertificateInstallationReqType; /* avoid unused warning */ -} - -void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType) { - iso1SessionSetupResType->EVSETimeStamp_isUsed = 0u; -} - -void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - iso1EVChargeParameterType->DepartureTime_isUsed = 0u; -} - -void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - (void)iso1DiffieHellmanPublickeyType; /* avoid unused warning */ -} - -void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - iso1ServiceDiscoveryResType->ServiceList_isUsed = 0u; -} - -void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - iso1ServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType) { - iso1CertificateChainType->Id_isUsed = 0u; - iso1CertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType) { - (void)iso1SASchedulesType; /* avoid unused warning */ -} - -void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - iso1DC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; -} - -void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType) { - (void)iso1PreChargeResType; /* avoid unused warning */ -} - -void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType) { - iso1ParameterSetType->Parameter.arrayLen = 0u; -} - -void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - (void)iso1ServiceDetailReqType; /* avoid unused warning */ -} - -void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - iso1RelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType) { - iso1SignedInfoType->Id_isUsed = 0u; - iso1SignedInfoType->Reference.arrayLen = 0u; -} - -void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType) { - (void)iso1EMAIDType; /* avoid unused warning */ -} - -void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType) { - (void)iso1EVStatusType; /* avoid unused warning */ -} - -void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType) { - iso1ServiceListType->Service.arrayLen = 0u; -} - -void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - (void)iso1EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - (void)iso1EVPowerDeliveryParameterType; /* avoid unused warning */ -} - -void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType) { - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; -} - -void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - iso1AuthorizationReqType->Id_isUsed = 0u; - iso1AuthorizationReqType->GenChallenge_isUsed = 0u; -} - -void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType) { - iso1MeterInfoType->MeterReading_isUsed = 0u; - iso1MeterInfoType->SigMeterReading_isUsed = 0u; - iso1MeterInfoType->MeterStatus_isUsed = 0u; - iso1MeterInfoType->TMeter_isUsed = 0u; -} - -void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType) { - iso1ManifestType->Id_isUsed = 0u; - iso1ManifestType->Reference.arrayLen = 0u; -} - -void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - iso1ChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; -} - -void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - iso1PowerDeliveryResType->EVSEStatus_isUsed = 0u; - iso1PowerDeliveryResType->AC_EVSEStatus_isUsed = 0u; - iso1PowerDeliveryResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - iso1DC_EVChargeParameterType->DepartureTime_isUsed = 0u; - iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u; - iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u; - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u; - iso1DC_EVChargeParameterType->FullSOC_isUsed = 0u; - iso1DC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - iso1ConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - iso1PaymentOptionListType->PaymentOption.arrayLen = 0u; -} - -void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType) { - iso1ObjectType->Id_isUsed = 0u; - iso1ObjectType->MimeType_isUsed = 0u; - iso1ObjectType->Encoding_isUsed = 0u; - iso1ObjectType->ANY_isUsed = 0u; -} - -void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType) { - (void)iso1PhysicalValueType; /* avoid unused warning */ -} - -void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - (void)iso1RSAKeyValueType; /* avoid unused warning */ -} - -void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType) { - (void)iso1SessionStopResType; /* avoid unused warning */ -} - -void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - (void)iso1CertificateUpdateReqType; /* avoid unused warning */ -} - -void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType) { - iso1SignatureValueType->Id_isUsed = 0u; -} - -void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - (void)iso1PaymentDetailsReqType; /* avoid unused warning */ -} - -void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType) { - (void)iso1AuthorizationResType; /* avoid unused warning */ -} - -void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType) { - iso1SubCertificatesType->Certificate.arrayLen = 0u; -} - -void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - iso1ChargingStatusResType->EVSEMaxCurrent_isUsed = 0u; - iso1ChargingStatusResType->MeterInfo_isUsed = 0u; - iso1ChargingStatusResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - iso1DSAKeyValueType->P_isUsed = 0u; - iso1DSAKeyValueType->Q_isUsed = 0u; - iso1DSAKeyValueType->G_isUsed = 0u; - iso1DSAKeyValueType->J_isUsed = 0u; - iso1DSAKeyValueType->Seed_isUsed = 0u; - iso1DSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType) { - iso1ChargeServiceType->ServiceName_isUsed = 0u; - iso1ChargeServiceType->ServiceScope_isUsed = 0u; -} - -void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType) { - (void)iso1IntervalType; /* avoid unused warning */ -} - -void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - iso1MeteringReceiptReqType->Id_isUsed = 0u; - iso1MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - iso1ServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType) { - iso1KeyValueType->DSAKeyValue_isUsed = 0u; - iso1KeyValueType->RSAKeyValue_isUsed = 0u; - iso1KeyValueType->ANY_isUsed = 0u; -} - -void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - iso1SelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType) { - (void)iso1CableCheckResType; /* avoid unused warning */ -} - -void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - (void)iso1X509IssuerSerialType; /* avoid unused warning */ -} - -void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType) { - iso1KeyInfoType->Id_isUsed = 0u; - iso1KeyInfoType->KeyName.arrayLen = 0u; - iso1KeyInfoType->KeyValue.arrayLen = 0u; - iso1KeyInfoType->RetrievalMethod.arrayLen = 0u; - iso1KeyInfoType->X509Data.arrayLen = 0u; - iso1KeyInfoType->PGPData.arrayLen = 0u; - iso1KeyInfoType->SPKIData.arrayLen = 0u; - iso1KeyInfoType->MgmtData.arrayLen = 0u; - iso1KeyInfoType->ANY_isUsed = 0u; -} - -void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType) { - iso1TransformsType->Transform.arrayLen = 0u; -} - -void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; -} - -void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType) { - (void)iso1PreChargeReqType; /* avoid unused warning */ -} - -void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType) { - (void)iso1EVSEStatusType; /* avoid unused warning */ -} - -void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType) { - iso1SignatureMethodType->HMACOutputLength_isUsed = 0u; - iso1SignatureMethodType->ANY_isUsed = 0u; -} - -void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType) { - iso1X509DataType->X509IssuerSerial.arrayLen = 0u; - iso1X509DataType->X509SKI.arrayLen = 0u; - iso1X509DataType->X509SubjectName.arrayLen = 0u; - iso1X509DataType->X509Certificate.arrayLen = 0u; - iso1X509DataType->X509CRL.arrayLen = 0u; - iso1X509DataType->ANY_isUsed = 0u; -} - -void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType) { - iso1NotificationType->FaultMsg_isUsed = 0u; -} - -void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType) { - iso1SAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_iso1BodyType(struct iso1BodyType* iso1BodyType) { - iso1BodyType->BodyElement_isUsed = 0u; - iso1BodyType->SessionSetupReq_isUsed = 0u; - iso1BodyType->SessionSetupRes_isUsed = 0u; - iso1BodyType->ServiceDiscoveryReq_isUsed = 0u; - iso1BodyType->ServiceDiscoveryRes_isUsed = 0u; - iso1BodyType->ServiceDetailReq_isUsed = 0u; - iso1BodyType->ServiceDetailRes_isUsed = 0u; - iso1BodyType->PaymentServiceSelectionReq_isUsed = 0u; - iso1BodyType->PaymentServiceSelectionRes_isUsed = 0u; - iso1BodyType->PaymentDetailsReq_isUsed = 0u; - iso1BodyType->PaymentDetailsRes_isUsed = 0u; - iso1BodyType->AuthorizationReq_isUsed = 0u; - iso1BodyType->AuthorizationRes_isUsed = 0u; - iso1BodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - iso1BodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - iso1BodyType->PowerDeliveryReq_isUsed = 0u; - iso1BodyType->PowerDeliveryRes_isUsed = 0u; - iso1BodyType->MeteringReceiptReq_isUsed = 0u; - iso1BodyType->MeteringReceiptRes_isUsed = 0u; - iso1BodyType->SessionStopReq_isUsed = 0u; - iso1BodyType->SessionStopRes_isUsed = 0u; - iso1BodyType->CertificateUpdateReq_isUsed = 0u; - iso1BodyType->CertificateUpdateRes_isUsed = 0u; - iso1BodyType->CertificateInstallationReq_isUsed = 0u; - iso1BodyType->CertificateInstallationRes_isUsed = 0u; - iso1BodyType->ChargingStatusReq_isUsed = 0u; - iso1BodyType->ChargingStatusRes_isUsed = 0u; - iso1BodyType->CableCheckReq_isUsed = 0u; - iso1BodyType->CableCheckRes_isUsed = 0u; - iso1BodyType->PreChargeReq_isUsed = 0u; - iso1BodyType->PreChargeRes_isUsed = 0u; - iso1BodyType->CurrentDemandReq_isUsed = 0u; - iso1BodyType->CurrentDemandRes_isUsed = 0u; - iso1BodyType->WeldingDetectionReq_isUsed = 0u; - iso1BodyType->WeldingDetectionRes_isUsed = 0u; -} - -void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType) { - iso1ChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_iso1TransformType(struct iso1TransformType* iso1TransformType) { - iso1TransformType->ANY_isUsed = 0u; - iso1TransformType->XPath.arrayLen = 0u; -} - -void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - iso1SAScheduleTupleType->SalesTariff_isUsed = 0u; -} - -void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - iso1AC_EVChargeParameterType->DepartureTime_isUsed = 0u; -} - -void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - (void)iso1AnonType_V2G_Message; /* avoid unused warning */ -} - -void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - (void)iso1PaymentDetailsResType; /* avoid unused warning */ -} - -void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - (void)iso1ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */ -} - -void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - iso1PMaxScheduleEntryType->TimeInterval_isUsed = 0u; - iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType) { - iso1SPKIDataType->SPKISexp.arrayLen = 0u; - iso1SPKIDataType->ANY_isUsed = 0u; -} - -void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - iso1MeteringReceiptResType->EVSEStatus_isUsed = 0u; - iso1MeteringReceiptResType->AC_EVSEStatus_isUsed = 0u; - iso1MeteringReceiptResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType) { - (void)iso1SessionStopReqType; /* avoid unused warning */ -} - -void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - (void)iso1WeldingDetectionResType; /* avoid unused warning */ -} - -void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType) { - iso1ReferenceType->Id_isUsed = 0u; - iso1ReferenceType->URI_isUsed = 0u; - iso1ReferenceType->Type_isUsed = 0u; - iso1ReferenceType->Transforms_isUsed = 0u; -} - -void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u; - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u; - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u; - iso1CurrentDemandReqType->BulkChargingComplete_isUsed = 0u; - iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u; - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u; -} - -void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - iso1SalesTariffEntryType->TimeInterval_isUsed = 0u; - iso1SalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; - iso1SalesTariffEntryType->EPriceLevel_isUsed = 0u; - iso1SalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_iso1EntryType(struct iso1EntryType* iso1EntryType) { - iso1EntryType->TimeInterval_isUsed = 0u; - iso1EntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - (void)iso1SessionSetupReqType; /* avoid unused warning */ -} - -void init_iso1CostType(struct iso1CostType* iso1CostType) { - iso1CostType->amountMultiplier_isUsed = 0u; -} - -void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; -} - -void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - iso1RetrievalMethodType->URI_isUsed = 0u; - iso1RetrievalMethodType->Type_isUsed = 0u; - iso1RetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - iso1CertificateUpdateResType->RetryCounter_isUsed = 0u; -} - -void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - (void)iso1CertificateInstallationResType; /* avoid unused warning */ -} - -void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - iso1CanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - (void)iso1WeldingDetectionReqType; /* avoid unused warning */ -} - -void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - (void)iso1DC_EVStatusType; /* avoid unused warning */ -} - -void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u; - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u; - iso1CurrentDemandResType->MeterInfo_isUsed = 0u; - iso1CurrentDemandResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType) { - iso1ServiceType->ServiceName_isUsed = 0u; - iso1ServiceType->ServiceScope_isUsed = 0u; -} - -void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - iso1ServiceDiscoveryReqType->ServiceScope_isUsed = 0u; - iso1ServiceDiscoveryReqType->ServiceCategory_isUsed = 0u; -} - -void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - (void)iso1AC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType) { - (void)iso1CableCheckReqType; /* avoid unused warning */ -} - -void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType) { - iso1SelectedServiceType->ParameterSetID_isUsed = 0u; -} - -void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - (void)iso1AC_EVSEStatusType; /* avoid unused warning */ -} - -void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType) { - iso1SalesTariffType->Id_isUsed = 0u; - iso1SalesTariffType->SalesTariffDescription_isUsed = 0u; - iso1SalesTariffType->NumEPriceLevels_isUsed = 0u; - iso1SalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - (void)iso1PaymentServiceSelectionReqType; /* avoid unused warning */ -} - -void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - iso1SignaturePropertiesType->Id_isUsed = 0u; - iso1SignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType) { - (void)iso1BodyBaseType; /* avoid unused warning */ -} - -void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u; -} - -void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - (void)iso1ChargingStatusReqType; /* avoid unused warning */ -} - -void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - (void)iso1PaymentServiceSelectionResType; /* avoid unused warning */ -} - -void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType) { - iso1DigestMethodType->ANY_isUsed = 0u; -} - -void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - iso1SignaturePropertyType->Id_isUsed = 0u; - iso1SignaturePropertyType->ANY_isUsed = 0u; -} - -void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType) { - iso1PGPDataType->PGPKeyID_isUsed = 0u; - iso1PGPDataType->PGPKeyPacket_isUsed = 0u; - iso1PGPDataType->ANY_isUsed = 0u; -} - - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypes.h b/Port/vc2022/src/iso1/iso1EXIDatatypes.h deleted file mode 100644 index 94b9142..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypes.h +++ /dev/null @@ -1,2992 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_iso1_DATATYPES_H -#define EXI_iso1_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_ISO1_CODEC SUPPORT_YES -#define DEPLOY_ISO1_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define iso1X509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define iso1X509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define iso1X509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define iso1X509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define iso1TransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define iso1SPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID from unbounded to 5 (see #define iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define iso1TransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso1SignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso1ManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define iso1KeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define iso1KeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define iso1KeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define iso1KeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define iso1KeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define iso1KeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define iso1SignatureType_Object_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":ParameterSet from unbounded to 5 (see #define iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) */ - - -/* 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 iso1EVChargeParameterType { - /* 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,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 -struct iso1DiffieHellmanPublickeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,dHpublickeyType */ - struct { - uint8_t bytes[iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso1SASchedulesType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso1DC_EVErrorCodeType_NO_ERROR = 0, - iso1DC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1, - iso1DC_EVErrorCodeType_FAILED_EVShiftPosition = 2, - iso1DC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3, - iso1DC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4, - iso1DC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5, - iso1DC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6, - iso1DC_EVErrorCodeType_Reserved_A = 7, - iso1DC_EVErrorCodeType_Reserved_B = 8, - iso1DC_EVErrorCodeType_Reserved_C = 9, - iso1DC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10, - iso1DC_EVErrorCodeType_NoData = 11 -} iso1DC_EVErrorCodeType; - -typedef enum { - iso1EVSENotificationType_None = 0, - iso1EVSENotificationType_StopCharging = 1, - iso1EVSENotificationType_ReNegotiation = 2 -} iso1EVSENotificationType; - -typedef enum { - iso1responseCodeType_OK = 0, - iso1responseCodeType_OK_NewSessionEstablished = 1, - iso1responseCodeType_OK_OldSessionJoined = 2, - iso1responseCodeType_OK_CertificateExpiresSoon = 3, - iso1responseCodeType_FAILED = 4, - iso1responseCodeType_FAILED_SequenceError = 5, - iso1responseCodeType_FAILED_ServiceIDInvalid = 6, - iso1responseCodeType_FAILED_UnknownSession = 7, - iso1responseCodeType_FAILED_ServiceSelectionInvalid = 8, - iso1responseCodeType_FAILED_PaymentSelectionInvalid = 9, - iso1responseCodeType_FAILED_CertificateExpired = 10, - iso1responseCodeType_FAILED_SignatureError = 11, - iso1responseCodeType_FAILED_NoCertificateAvailable = 12, - iso1responseCodeType_FAILED_CertChainError = 13, - iso1responseCodeType_FAILED_ChallengeInvalid = 14, - iso1responseCodeType_FAILED_ContractCanceled = 15, - iso1responseCodeType_FAILED_WrongChargeParameter = 16, - iso1responseCodeType_FAILED_PowerDeliveryNotApplied = 17, - iso1responseCodeType_FAILED_TariffSelectionInvalid = 18, - iso1responseCodeType_FAILED_ChargingProfileInvalid = 19, - iso1responseCodeType_FAILED_MeteringSignatureNotValid = 20, - iso1responseCodeType_FAILED_NoChargeServiceSelected = 21, - iso1responseCodeType_FAILED_WrongEnergyTransferMode = 22, - iso1responseCodeType_FAILED_ContactorError = 23, - iso1responseCodeType_FAILED_CertificateNotAllowedAtThisEVSE = 24, - iso1responseCodeType_FAILED_CertificateRevoked = 25 -} iso1responseCodeType; - -/* 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 iso1ServiceDetailReqType { - /* 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,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 iso1RelativeTimeIntervalType { - /* 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,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso1EMAIDType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EMAIDType_CONTENT_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1EMAIDType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1EMAIDType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1EMAIDType_CONTENT_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CONTENT ; -}; - -/* 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 iso1EVStatusType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1EVSEChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1EVPowerDeliveryParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1AuthorizationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1AuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct iso1AuthorizationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1AuthorizationReqType_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[iso1AuthorizationReqType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - unsigned int GenChallenge_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 iso1MeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define iso1MeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -struct iso1MeterInfoType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterID, urn:iso:15118:2:2013:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[iso1MeterInfoType_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[iso1MeterInfoType_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='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 iso1ObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1ObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ObjectType_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[iso1ObjectType_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[iso1ObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso1ObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso1RSAKeyValueType_Modulus_BYTES_SIZE 350 -#define iso1RSAKeyValueType_Exponent_BYTES_SIZE 350 -struct iso1RSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1RSAKeyValueType_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[iso1RSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 iso1SessionStopResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; -}; - -/* 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 iso1SignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignatureValueType_CONTENT_BYTES_SIZE 350 -struct iso1SignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignatureValueType_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[iso1SignatureValueType_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 iso1SubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1SubCertificatesType_Certificate_ARRAY_SIZE 4 -struct iso1SubCertificatesType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[iso1SubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1SubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -typedef enum { - iso1faultCodeType_ParsingError = 0, - iso1faultCodeType_NoTLSRootCertificatAvailable = 1, - iso1faultCodeType_UnknownError = 2 -} iso1faultCodeType; - -typedef enum { - iso1DC_EVSEStatusCodeType_EVSE_NotReady = 0, - iso1DC_EVSEStatusCodeType_EVSE_Ready = 1, - iso1DC_EVSEStatusCodeType_EVSE_Shutdown = 2, - iso1DC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3, - iso1DC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4, - iso1DC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5, - iso1DC_EVSEStatusCodeType_EVSE_Malfunction = 6, - iso1DC_EVSEStatusCodeType_Reserved_8 = 7, - iso1DC_EVSEStatusCodeType_Reserved_9 = 8, - iso1DC_EVSEStatusCodeType_Reserved_A = 9, - iso1DC_EVSEStatusCodeType_Reserved_B = 10, - iso1DC_EVSEStatusCodeType_Reserved_C = 11 -} iso1DC_EVSEStatusCodeType; - -/* 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'. */ -#define iso1DSAKeyValueType_P_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Q_BYTES_SIZE 350 -#define iso1DSAKeyValueType_G_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Y_BYTES_SIZE 350 -#define iso1DSAKeyValueType_J_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Seed_BYTES_SIZE 350 -#define iso1DSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct iso1DSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -typedef enum { - iso1EVSEProcessingType_Finished = 0, - iso1EVSEProcessingType_Ongoing = 1, - iso1EVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 -} iso1EVSEProcessingType; - -/* 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 iso1IntervalType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1MeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -struct iso1MeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1MeteringReceiptReqType_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 */ - struct { - uint8_t bytes[iso1MeteringReceiptReqType_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 iso1MeterInfoType MeterInfo ; -}; - -/* 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 iso1KeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1KeyValueType { - /* 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 iso1DSAKeyValueType 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 iso1RSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1KeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE 20 -struct iso1X509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - /* int64_t X509SerialNumber; */ - struct { - /** a sign value */ - int negative; - /* container size */ - /* size_t size; iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE */ - /** array data container */ - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - uint8_t data[iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE]; - /** array length (len <= size) */ - size_t len; - } X509SerialNumber; -}; - -typedef enum { - iso1chargingSessionType_Terminate = 0, - iso1chargingSessionType_Pause = 1 -} iso1chargingSessionType; - -/* 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 iso1EVSEStatusType { - /* 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 */ - iso1EVSENotificationType EVSENotification ; -}; - -/* 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 iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1SignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1SignatureMethodType_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[iso1SignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define iso1X509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define iso1X509DataType_X509SKI_BYTES_SIZE 350 -#define iso1X509DataType_X509SKI_ARRAY_SIZE 1 -#define iso1X509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1X509DataType_X509SubjectName_ARRAY_SIZE 1 -#define iso1X509DataType_X509Certificate_BYTES_SIZE 350 -#define iso1X509DataType_X509Certificate_ARRAY_SIZE 1 -#define iso1X509DataType_X509CRL_BYTES_SIZE 350 -#define iso1X509DataType_X509CRL_ARRAY_SIZE 1 -#define iso1X509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1X509DataType { - /* 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 { - struct iso1X509IssuerSerialType array[iso1X509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1X509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1X509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1X509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso1serviceCategoryType_EVCharging = 0, - iso1serviceCategoryType_Internet = 1, - iso1serviceCategoryType_ContractCertificate = 2, - iso1serviceCategoryType_OtherCustom = 3 -} iso1serviceCategoryType; - -typedef enum { - iso1paymentOptionType_Contract = 0, - iso1paymentOptionType_ExternalPayment = 1 -} iso1paymentOptionType; - -typedef enum { - iso1EnergyTransferModeType_AC_single_phase_core = 0, - iso1EnergyTransferModeType_AC_three_phase_core = 1, - iso1EnergyTransferModeType_DC_core = 2, - iso1EnergyTransferModeType_DC_extended = 3, - iso1EnergyTransferModeType_DC_combo_core = 4, - iso1EnergyTransferModeType_DC_unique = 5 -} iso1EnergyTransferModeType; - -/* 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 iso1NotificationType_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -struct iso1NotificationType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultCode, urn:iso:15118:2:2013:MsgDataTypes,faultCodeType */ - iso1faultCodeType FaultCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultMsg, urn:iso:15118:2:2013:MsgDataTypes,faultMsgType */ - struct { - exi_string_character_t characters[iso1NotificationType_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - unsigned int FaultMsg_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 iso1TransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1TransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1TransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1TransformType_XPath_ARRAY_SIZE 1 -struct iso1TransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1TransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1TransformType_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 { - exi_string_character_t characters[iso1TransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1TransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -/* 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 iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct iso1PaymentDetailsResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */ - struct { - uint8_t bytes[iso1PaymentDetailsResType_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 ; -}; - -/* 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 iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 -struct iso1ContractSignatureEncryptedPrivateKeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso1SPKIDataType_SPKISexp_BYTES_SIZE 350 -#define iso1SPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define iso1SPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1SPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1SPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1SPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1SessionStopReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingSession, urn:iso:15118:2:2013:MsgDataTypes,chargingSessionType */ - iso1chargingSessionType ChargingSession ; -}; - -/* 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 iso1EntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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: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 iso1SessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ -struct iso1SessionSetupReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":EVCCID, urn:iso:15118:2:2013:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[iso1SessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - iso1isolationLevelType_Invalid = 0, - iso1isolationLevelType_Valid = 1, - iso1isolationLevelType_Warning = 2, - iso1isolationLevelType_Fault = 3, - iso1isolationLevelType_No_IMD = 4 -} iso1isolationLevelType; - -/* 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 iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1CanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1DC_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 */ - iso1DC_EVErrorCodeType EVErrorCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */ - int8_t EVRESSSOC ; -}; - -typedef enum { - iso1costKindType_relativePricePercentage = 0, - iso1costKindType_RenewableGenerationPercentage = 1, - iso1costKindType_CarbonDioxideEmission = 2 -} iso1costKindType; - -/* 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 iso1ServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1ServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ServiceType { - /* 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[iso1ServiceType_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 */ - iso1serviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ServiceType_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: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 iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ServiceDiscoveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ServiceDiscoveryReqType_ServiceScope_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 */ - iso1serviceCategoryType ServiceCategory ; - unsigned int ServiceCategory_isUsed:1; -}; - -typedef enum { - iso1chargeProgressType_Start = 0, - iso1chargeProgressType_Stop = 1, - iso1chargeProgressType_Renegotiate = 2 -} iso1chargeProgressType; - -typedef enum { - iso1valueType_bool = 0, - iso1valueType_byte = 1, - iso1valueType_short = 2, - iso1valueType_int = 3, - iso1valueType_physicalValue = 4, - iso1valueType_string = 5 -} iso1valueType; - -/* 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 iso1CableCheckReqType { - /* 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 iso1DC_EVStatusType DC_EVStatus ; -}; - -/* 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 iso1SelectedServiceType { - /* 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; -}; - -/* 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 iso1AC_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 */ - iso1EVSENotificationType 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,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct iso1BodyBaseType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE 6 -struct iso1SupportedEnergyTransferModeType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */ - struct { - iso1EnergyTransferModeType array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE]; - uint16_t arrayLen; - } EnergyTransferMode; -}; - -/* 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 iso1ChargingStatusReqType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1PaymentServiceSelectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; -}; - -/* 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 iso1DigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1DigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1DigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1DigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1DigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1SignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1SignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignaturePropertyType_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[iso1SignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso1unitSymbolType_h = 0, - iso1unitSymbolType_m = 1, - iso1unitSymbolType_s = 2, - iso1unitSymbolType_A = 3, - iso1unitSymbolType_V = 4, - iso1unitSymbolType_W = 5, - iso1unitSymbolType_Wh = 6 -} iso1unitSymbolType; - -/* 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 iso1PGPDataType_PGPKeyID_BYTES_SIZE 350 -#define iso1PGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define iso1PGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1PGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso1PGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso1PGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1PGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso1SessionSetupResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1SessionSetupResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso1SessionSetupResType_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; -}; - -/* 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 iso1CertificateChainType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct iso1CertificateChainType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateChainType_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[iso1CertificateChainType_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 iso1SubCertificatesType SubCertificates ; - unsigned int SubCertificates_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 iso1DC_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 */ - iso1EVSENotificationType EVSENotification ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2013:MsgDataTypes,isolationLevelType */ - iso1isolationLevelType EVSEIsolationStatus ; - unsigned int EVSEIsolationStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusCodeType */ - iso1DC_EVSEStatusCodeType EVSEStatusCode ; -}; - -/* 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 iso1ServiceListType_Service_ARRAY_SIZE 8 -struct iso1ServiceListType { - /* 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 iso1ServiceType array[iso1ServiceListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -/* 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 iso1PowerDeliveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1EVSEStatusType 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 iso1AC_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 iso1DC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* 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 iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE 2 -struct iso1PaymentOptionListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ - struct { - iso1paymentOptionType array[iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* 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 iso1PhysicalValueType { - /* 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 */ - iso1unitSymbolType Unit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ - int16_t Value ; -}; - -/* 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 iso1PaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct iso1PaymentDetailsReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1PaymentDetailsReqType_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 iso1CertificateChainType ContractSignatureCertChain ; -}; - -/* 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 iso1AuthorizationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso1DC_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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* 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 iso1ChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1ChargingStatusResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso1ChargingStatusResType_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 iso1PhysicalValueType 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 iso1MeterInfoType 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 iso1AC_EVSEStatusType AC_EVSEStatus ; -}; - -/* 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'. */ -#define iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5 -struct iso1ListOfRootCertificateIDsType { - /* 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'. */ - struct { - struct iso1X509IssuerSerialType array[iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ChargeServiceType { - /* 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[iso1ChargeServiceType_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 */ - iso1serviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ChargeServiceType_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 iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ; -}; - -/* 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-16})', derivedBy='RESTRICTION'. */ -#define iso1SelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct iso1SelectedServiceListType { - /* 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 iso1SelectedServiceType array[iso1SelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* 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 iso1CableCheckResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType EVSEProcessing ; -}; - -/* 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'. */ -#define iso1TransformsType_Transform_ARRAY_SIZE 1 -struct iso1TransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct iso1TransformType array[iso1TransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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 iso1PreChargeReqType { - /* 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType EVTargetCurrent ; -}; - -/* 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 iso1AC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVMinCurrent ; -}; - -/* 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 iso1PMaxScheduleEntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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 iso1PhysicalValueType PMax ; -}; - -/* 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 iso1MeteringReceiptResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1EVSEStatusType 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 iso1AC_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 iso1DC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* 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 iso1WeldingDetectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType EVSEPresentVoltage ; -}; - -/* 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 iso1ReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_DigestValue_BYTES_SIZE 350 -struct iso1ReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ReferenceType_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[iso1ReferenceType_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[iso1ReferenceType_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 iso1TransformsType 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 iso1DigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[iso1ReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 iso1CurrentDemandReqType { - /* 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVTargetVoltage ; -}; - -/* 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 iso1CostType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":costKind, urn:iso:15118:2:2013:MsgDataTypes,costKindType */ - iso1costKindType 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: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 iso1DC_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 iso1DC_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='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 iso1RetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1RetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1RetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1RetrievalMethodType_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[iso1RetrievalMethodType_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 iso1TransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 iso1CertificateUpdateResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1CertificateChainType 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 iso1CertificateChainType 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 iso1ContractSignatureEncryptedPrivateKeyType 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 iso1DiffieHellmanPublickeyType 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 iso1EMAIDType 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 iso1CertificateInstallationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1CertificateChainType 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 iso1CertificateChainType 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 iso1ContractSignatureEncryptedPrivateKeyType 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 iso1DiffieHellmanPublickeyType 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 iso1EMAIDType eMAID ; -}; - -/* 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 iso1WeldingDetectionReqType { - /* 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 iso1DC_EVStatusType DC_EVStatus ; -}; - -/* 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 iso1CurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1CurrentDemandResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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[iso1CurrentDemandResType_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 iso1MeterInfoType 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: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 iso1AC_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 iso1AC_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 iso1PhysicalValueType 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 iso1PhysicalValueType EVSEMaxCurrent ; -}; - -/* 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 iso1PaymentServiceSelectionReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ - iso1paymentOptionType 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-16})', derivedBy='RESTRICTION'. */ - struct iso1SelectedServiceListType SelectedServiceList ; -}; - -/* 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 iso1SignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct iso1SignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignaturePropertiesType_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 iso1SignaturePropertyType array[iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 iso1ParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1ParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[iso1ParameterType_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 iso1PhysicalValueType 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[iso1ParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* 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 iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct iso1CertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateInstallationReqType_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[iso1CertificateInstallationReqType_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 iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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 iso1ServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1PaymentOptionListType 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 iso1ChargeServiceType 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 iso1ServiceListType ServiceList ; - unsigned int ServiceList_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 iso1PreChargeResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType EVSEPresentVoltage ; -}; - -/* 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-16})', derivedBy='RESTRICTION'. */ -#define iso1ParameterSetType_Parameter_ARRAY_SIZE 16 -struct iso1ParameterSetType { - /* 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 iso1ParameterType array[iso1ParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* 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 iso1SignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignedInfoType_Reference_ARRAY_SIZE 1 -struct iso1SignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignedInfoType_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 iso1CanonicalizationMethodType 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 iso1SignatureMethodType 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 iso1ReferenceType array[iso1SignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso1ProfileEntryType { - /* 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 iso1PhysicalValueType 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='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 iso1ManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ManifestType_Reference_ARRAY_SIZE 1 -struct iso1ManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ManifestType_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 iso1ReferenceType array[iso1ManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso1DC_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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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: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 iso1ConsumptionCostType_Cost_ARRAY_SIZE 3 -struct iso1ConsumptionCostType { - /* 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 iso1PhysicalValueType 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 iso1CostType array[iso1ConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* 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'. */ -#define iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct iso1PMaxScheduleType { - /* 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'. */ - struct { - struct iso1PMaxScheduleEntryType array[iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* 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 iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct iso1CertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateUpdateReqType_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 iso1CertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1CertificateUpdateReqType_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 iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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'. */ -#define iso1KeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_KeyName_ARRAY_SIZE 1 -#define iso1KeyInfoType_KeyValue_ARRAY_SIZE 1 -#define iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define iso1KeyInfoType_X509Data_ARRAY_SIZE 1 -#define iso1KeyInfoType_PGPData_ARRAY_SIZE 1 -#define iso1KeyInfoType_SPKIData_ARRAY_SIZE 1 -#define iso1KeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_MgmtData_ARRAY_SIZE 1 -#define iso1KeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1KeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1KeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1KeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1KeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct iso1KeyValueType array[iso1KeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct iso1RetrievalMethodType array[iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct iso1X509DataType array[iso1KeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct iso1PGPDataType array[iso1KeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct iso1SPKIDataType array[iso1KeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1KeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1KeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1KeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1ChargeParameterDiscoveryReqType { - /* 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 */ - iso1EnergyTransferModeType 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 iso1EVChargeParameterType 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 iso1AC_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 iso1DC_EVChargeParameterType DC_EVChargeParameter ; - unsigned int DC_EVChargeParameter_isUsed:1; -}; - -/* 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-24})', derivedBy='RESTRICTION'. */ -#define iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct iso1ChargingProfileType { - /* 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 iso1ProfileEntryType array[iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* 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 iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 -struct iso1SalesTariffEntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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 iso1ConsumptionCostType array[iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* 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 iso1SalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct iso1SalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SalesTariffType_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[iso1SalesTariffType_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 iso1SalesTariffEntryType array[iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* 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'. */ -#define iso1SignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignatureType_Object_ARRAY_SIZE 1 -struct iso1SignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct iso1SignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct iso1SignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct iso1KeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct iso1ObjectType array[iso1SignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* 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 iso1PowerDeliveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeProgress, urn:iso:15118:2:2013:MsgDataTypes,chargeProgressType */ - iso1chargeProgressType ChargeProgress ; - /* 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":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-24})', derivedBy='RESTRICTION'. */ - struct iso1ChargingProfileType 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 iso1EVPowerDeliveryParameterType 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 iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; -}; - -/* 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 iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct iso1ServiceParameterListType { - /* 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-16})', derivedBy='RESTRICTION'. */ - struct { - struct iso1ParameterSetType array[iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* 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 iso1ServiceDetailResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1ServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* 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 iso1SAScheduleTupleType { - /* 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 iso1PMaxScheduleType 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 iso1SalesTariffType SalesTariff ; - unsigned int SalesTariff_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 iso1MessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -struct iso1MessageHeaderType { - /* element: "urn:iso:15118:2:2013:MsgHeader":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[iso1MessageHeaderType_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 iso1NotificationType 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 iso1SignatureType Signature ; - unsigned int Signature_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'. */ -#define iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3 -struct iso1SAScheduleListType { - /* 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'. */ - struct { - struct iso1SAScheduleTupleType array[iso1SAScheduleListType_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'. */ -struct iso1ChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType 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 iso1SASchedulesType 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'. */ - struct iso1SAScheduleListType 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 iso1EVSEChargeParameterType 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'. */ - struct iso1AC_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'. */ - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - unsigned int DC_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'. */ -struct iso1BodyType { - /* 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'. */ - struct iso1BodyBaseType 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 iso1SessionSetupReqType 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 iso1SessionSetupResType 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 iso1ServiceDiscoveryReqType 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 iso1ServiceDiscoveryResType 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 iso1ServiceDetailReqType 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 iso1ServiceDetailResType 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 iso1PaymentServiceSelectionReqType 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 iso1PaymentServiceSelectionResType 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 iso1PaymentDetailsReqType 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 iso1PaymentDetailsResType 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 iso1AuthorizationReqType 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 iso1AuthorizationResType 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 iso1ChargeParameterDiscoveryReqType 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 iso1ChargeParameterDiscoveryResType 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 iso1PowerDeliveryReqType 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 iso1PowerDeliveryResType 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 iso1MeteringReceiptReqType 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 iso1MeteringReceiptResType 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 iso1SessionStopReqType 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 iso1SessionStopResType 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 iso1CertificateUpdateReqType 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 iso1CertificateUpdateResType 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 iso1CertificateInstallationReqType 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 iso1CertificateInstallationResType 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 iso1ChargingStatusReqType 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 iso1ChargingStatusResType 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 iso1CableCheckReqType 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 iso1CableCheckResType 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 iso1PreChargeReqType 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 iso1PreChargeResType 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'. */ - struct iso1CurrentDemandReqType 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 iso1CurrentDemandResType 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 iso1WeldingDetectionReqType 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'. */ - struct iso1WeldingDetectionResType WeldingDetectionRes ; -#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 WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_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'. */ -struct iso1AnonType_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'. */ - struct iso1MessageHeaderType 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'. */ - struct iso1BodyType Body ; -}; - - - -#define iso1EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIDocument_DigestValue_BYTES_SIZE 350 -#define iso1EXIFragment_Exponent_BYTES_SIZE 350 -#define iso1EXIFragment_PgenCounter_BYTES_SIZE 350 -#define iso1EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -#define iso1EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define iso1EXIFragment_Seed_BYTES_SIZE 350 -#define iso1EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso1EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ -#define iso1EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_P_BYTES_SIZE 350 -#define iso1EXIFragment_Q_BYTES_SIZE 350 -#define iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_G_BYTES_SIZE 350 -#define iso1EXIFragment_J_BYTES_SIZE 350 -#define iso1EXIFragment_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -#define iso1EXIFragment_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1EXIFragment_X509CRL_BYTES_SIZE 350 -#define iso1EXIFragment_Y_BYTES_SIZE 350 -#define iso1EXIFragment_DigestValue_BYTES_SIZE 350 -#define iso1EXIFragment_SPKISexp_BYTES_SIZE 350 -#define iso1EXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define iso1EXIFragment_X509Certificate_BYTES_SIZE 350 -#define iso1EXIFragment_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -#define iso1EXIFragment_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -#define iso1EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -#define iso1EXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define iso1EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -#define iso1EXIFragment_X509SKI_BYTES_SIZE 350 -#define iso1EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_Modulus_BYTES_SIZE 350 -#define iso1exiElementFrag_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE 50 + EXTRA_CHAR - - -/* Global elements of EXI Document */ -struct iso1EXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso1AnonType_V2G_Message V2G_Message ; - struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso1MeteringReceiptReqType MeteringReceiptReq ; - struct iso1PaymentDetailsReqType PaymentDetailsReq ; - struct iso1MeteringReceiptResType MeteringReceiptRes ; - struct iso1PaymentDetailsResType PaymentDetailsRes ; - struct iso1SessionSetupReqType SessionSetupReq ; - struct iso1SessionSetupResType SessionSetupRes ; - struct iso1CableCheckReqType CableCheckReq ; - struct iso1CableCheckResType CableCheckRes ; - struct iso1CertificateInstallationReqType CertificateInstallationReq ; - struct iso1CertificateInstallationResType CertificateInstallationRes ; - struct iso1WeldingDetectionReqType WeldingDetectionReq ; - struct iso1WeldingDetectionResType WeldingDetectionRes ; - struct iso1CertificateUpdateReqType CertificateUpdateReq ; - struct iso1CertificateUpdateResType CertificateUpdateRes ; - struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso1PowerDeliveryReqType PowerDeliveryReq ; - struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso1PowerDeliveryResType PowerDeliveryRes ; - struct iso1ChargingStatusReqType ChargingStatusReq ; - struct iso1ChargingStatusResType ChargingStatusRes ; - struct iso1BodyBaseType BodyElement ; - struct iso1CurrentDemandReqType CurrentDemandReq ; - struct iso1PreChargeReqType PreChargeReq ; - struct iso1CurrentDemandResType CurrentDemandRes ; - struct iso1PreChargeResType PreChargeRes ; - struct iso1SessionStopReqType SessionStopReq ; - struct iso1AuthorizationReqType AuthorizationReq ; - struct iso1SessionStopResType SessionStopRes ; - struct iso1AuthorizationResType AuthorizationRes ; - struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso1ServiceDetailReqType ServiceDetailReq ; - struct iso1ServiceDetailResType ServiceDetailRes ; - struct iso1DC_EVSEStatusType DC_EVSEStatus ; - struct iso1RelativeTimeIntervalType RelativeTimeInterval ; - struct iso1SalesTariffEntryType SalesTariffEntry ; - struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct iso1SASchedulesType SASchedules ; - struct iso1AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso1SAScheduleListType SAScheduleList ; - struct iso1DC_EVStatusType DC_EVStatus ; - struct iso1EVStatusType EVStatus ; - struct iso1DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso1EVSEStatusType EVSEStatus ; - struct iso1IntervalType TimeInterval ; - struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct iso1EVSEChargeParameterType EVSEChargeParameter ; - struct iso1AC_EVSEStatusType AC_EVSEStatus ; - struct iso1EntryType Entry ; - struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso1PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso1EVChargeParameterType EVChargeParameter ; - struct iso1SignaturePropertyType SignatureProperty ; - struct iso1DSAKeyValueType DSAKeyValue ; - struct iso1SignaturePropertiesType SignatureProperties ; - struct iso1KeyValueType KeyValue ; - struct iso1TransformsType Transforms ; - struct iso1DigestMethodType DigestMethod ; - struct iso1SignatureType Signature ; - struct iso1RetrievalMethodType RetrievalMethod ; - struct iso1ManifestType Manifest ; - struct iso1ReferenceType Reference ; - struct iso1CanonicalizationMethodType CanonicalizationMethod ; - struct iso1RSAKeyValueType RSAKeyValue ; - struct iso1TransformType Transform ; - struct iso1PGPDataType PGPData ; - struct { - exi_string_character_t characters[iso1EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso1SignatureMethodType SignatureMethod ; - struct iso1KeyInfoType KeyInfo ; - struct iso1SPKIDataType SPKIData ; - struct iso1X509DataType X509Data ; - struct iso1SignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[iso1EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[iso1EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso1SignedInfoType SignedInfo ; - struct iso1ObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int V2G_Message_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int DC_EVSEStatus_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 AC_EVChargeParameter_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int EVStatus_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 AC_EVSEChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -struct iso1EXISchemaInformedElementFragmentGrammar { - /* Schema-informed Element Fragment Grammar for START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - /* 4 ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id) */ - unsigned int Id_isUsed:1; - struct { - exi_string_character_t characters[iso1exiElementFrag_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* 247 START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - unsigned int CHARACTERS_GENERIC_isUsed:1; - struct { - exi_string_character_t characters[iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CHARACTERS_GENERIC ; - - - int _warning_; -}; -/* Possible elements of EXI Fragment */ -struct iso1EXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - int ChargingComplete ; - struct iso1PhysicalValueType EVMaxVoltage ; - uint16_t ServiceID ; - int8_t EVRESSSOC ; - uint64_t MeterReading ; - struct iso1PhysicalValueType physicalValue ; - struct iso1IntervalType TimeInterval ; - struct iso1AC_EVSEStatusType AC_EVSEStatus ; - struct iso1PhysicalValueType EVMaxCurrent ; - uint32_t ChargingProfileEntryStart ; - struct iso1PhysicalValueType EVSEMaxCurrent ; - iso1costKindType costKind ; - struct iso1PhysicalValueType EAmount ; - iso1EnergyTransferModeType EnergyTransferMode ; - int64_t X509SerialNumber ; - uint8_t NumEPriceLevels ; - struct iso1RetrievalMethodType RetrievalMethod ; - struct iso1PhysicalValueType PMax ; - int16_t ParameterSetID ; - int8_t BulkSOC ; - struct iso1PhysicalValueType EVSEMinimumCurrentLimit ; - int EVSEPowerLimitAchieved ; - struct iso1SalesTariffEntryType SalesTariffEntry ; - struct iso1TransformsType Transforms ; - iso1EVSEProcessingType EVSEProcessing ; - iso1isolationLevelType EVSEIsolationStatus ; - int BulkChargingComplete ; - uint8_t SAScheduleTupleID ; - iso1faultCodeType FaultCode ; - struct iso1X509IssuerSerialType RootCertificateID ; - int64_t HMACOutputLength ; - struct { - uint8_t bytes[iso1EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct iso1X509IssuerSerialType X509IssuerSerial ; - int8_t byteValue ; - struct iso1SPKIDataType SPKIData ; - struct iso1SAScheduleListType SAScheduleList ; - struct iso1PhysicalValueType EVMaximumPowerLimit ; - struct iso1DC_EVSEStatusType DC_EVSEStatus ; - int16_t RetryCounter ; - struct iso1PhysicalValueType EVSEMaximumCurrentLimit ; - struct iso1SalesTariffType SalesTariff ; - struct { - uint8_t bytes[iso1EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct iso1X509DataType X509Data ; - struct iso1PhysicalValueType EVSECurrentRegulationTolerance ; - struct iso1KeyValueType KeyValue ; - struct iso1AnonType_V2G_Message V2G_Message ; - struct iso1PhysicalValueType EVSEMinimumVoltageLimit ; - iso1responseCodeType ResponseCode ; - struct iso1ProfileEntryType ProfileEntry ; - uint32_t start ; - iso1DC_EVErrorCodeType EVErrorCode ; - struct iso1EVChargeParameterType EVChargeParameter ; - struct iso1CertificateChainType ContractSignatureCertChain ; - struct iso1PhysicalValueType EVSEPresentCurrent ; - struct iso1PGPDataType PGPData ; - struct iso1PhysicalValueType EVMinCurrent ; - int8_t FullSOC ; - uint32_t amount ; - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso1EntryType Entry ; - struct iso1SessionStopResType SessionStopRes ; - int16_t shortValue ; - struct iso1CertificateChainType SAProvisioningCertificateChain ; - struct iso1PowerDeliveryReqType PowerDeliveryReq ; - struct iso1PowerDeliveryResType PowerDeliveryRes ; - struct iso1SessionStopReqType SessionStopReq ; - struct iso1SignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[iso1EXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct { - uint8_t bytes[iso1EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct iso1MessageHeaderType Header ; - struct { - uint8_t bytes[iso1EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct iso1RSAKeyValueType RSAKeyValue ; - int FreeService ; - struct iso1PhysicalValueType EVSENominalVoltage ; - struct { - exi_string_character_t characters[iso1EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct iso1MeteringReceiptResType MeteringReceiptRes ; - struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso1MeteringReceiptReqType MeteringReceiptReq ; - struct iso1PreChargeResType PreChargeRes ; - struct { - uint8_t bytes[iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - struct iso1PhysicalValueType EVEnergyCapacity ; - struct iso1SignatureType Signature ; - struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso1PreChargeReqType PreChargeReq ; - uint16_t NotificationMaxDelay ; - struct iso1CableCheckReqType CableCheckReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - int EVSEVoltageLimitAchieved ; - int boolValue ; - struct { - uint8_t bytes[iso1EXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct iso1DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso1ChargingStatusReqType ChargingStatusReq ; - struct iso1CableCheckResType CableCheckRes ; - struct { - exi_string_character_t characters[iso1EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso1MeterInfoType MeterInfo ; - struct iso1PhysicalValueType EVSEEnergyToBeDelivered ; - struct iso1EVSEStatusType EVSEStatus ; - struct iso1ServiceType Service ; - struct iso1ManifestType Manifest ; - struct iso1PhysicalValueType EVMaximumVoltageLimit ; - struct { - uint8_t bytes[iso1EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct { - uint8_t bytes[iso1EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - int32_t intValue ; - struct iso1ChargingProfileType ChargingProfile ; - struct { - uint8_t bytes[iso1EXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[iso1EXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct { - exi_string_character_t characters[iso1EXIFragment_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - int ReceiptRequired ; - struct { - exi_string_character_t characters[iso1EXIFragment_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - int16_t MeterStatus ; - struct iso1DC_EVStatusType DC_EVStatus ; - struct iso1ChargingStatusResType ChargingStatusRes ; - iso1serviceCategoryType ServiceCategory ; - struct iso1NotificationType Notification ; - struct { - uint8_t bytes[iso1EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct { - uint8_t bytes[iso1EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct iso1PhysicalValueType EVSEPresentVoltage ; - struct { - uint8_t bytes[iso1EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso1PhysicalValueType EVSEMaximumPowerLimit ; - int64_t EVSETimeStamp ; - struct iso1CostType Cost ; - struct iso1PhysicalValueType EVSEPeakCurrentRipple ; - struct iso1ConsumptionCostType ConsumptionCost ; - struct iso1DigestMethodType DigestMethod ; - struct { - uint8_t bytes[iso1EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct iso1SessionSetupResType SessionSetupRes ; - int EVSECurrentLimitAchieved ; - struct iso1ServiceDetailReqType ServiceDetailReq ; - struct iso1PhysicalValueType EVSEMaximumVoltageLimit ; - struct iso1ServiceDetailResType ServiceDetailRes ; - struct iso1SignaturePropertiesType SignatureProperties ; - uint8_t EPriceLevel ; - struct iso1PhysicalValueType EVTargetCurrent ; - struct iso1PhysicalValueType RemainingTimeToBulkSoC ; - struct { - exi_string_character_t characters[iso1EXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - struct iso1SessionSetupReqType SessionSetupReq ; - int8_t Multiplier ; - struct iso1CertificateUpdateResType CertificateUpdateRes ; - struct { - uint8_t bytes[iso1EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct iso1PhysicalValueType EVTargetVoltage ; - struct iso1DSAKeyValueType DSAKeyValue ; - struct iso1CertificateUpdateReqType CertificateUpdateReq ; - struct iso1PhysicalValueType EVMaximumCurrentLimit ; - struct iso1CanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[iso1EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct iso1CertificateInstallationReqType CertificateInstallationReq ; - struct iso1CertificateInstallationResType CertificateInstallationRes ; - struct iso1EVStatusType EVStatus ; - struct iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ; - struct iso1SignedInfoType SignedInfo ; - /* Schema-informed Element Fragment Grammar for {urn:iso:15118:2:2013:MsgBody}eMAID */ - struct iso1EXISchemaInformedElementFragmentGrammar eMAID ; - uint16_t MaxEntriesSAScheduleTuple ; - iso1paymentOptionType PaymentOption ; - struct iso1SubCertificatesType SubCertificates ; - struct iso1PaymentDetailsReqType PaymentDetailsReq ; - struct iso1AuthorizationReqType AuthorizationReq ; - struct iso1PaymentDetailsResType PaymentDetailsRes ; - struct iso1AuthorizationResType AuthorizationRes ; - iso1DC_EVSEStatusCodeType EVSEStatusCode ; - struct iso1PaymentOptionListType PaymentOptionList ; - struct iso1SelectedServiceListType SelectedServiceList ; - struct iso1ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - struct iso1WeldingDetectionReqType WeldingDetectionReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - struct iso1WeldingDetectionResType WeldingDetectionRes ; - iso1chargeProgressType ChargeProgress ; - iso1paymentOptionType SelectedPaymentOption ; - struct { - exi_string_character_t characters[iso1EXIFragment_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - struct iso1ParameterSetType ParameterSet ; - struct iso1EVSEChargeParameterType EVSEChargeParameter ; - struct { - uint8_t bytes[iso1EXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - struct iso1SignatureValueType SignatureValue ; - struct iso1SASchedulesType SASchedules ; - uint8_t SalesTariffID ; - struct iso1DiffieHellmanPublickeyType DHpublickey ; - struct iso1ServiceParameterListType ServiceParameterList ; - struct iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct { - exi_string_character_t characters[iso1EXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct iso1ChargeServiceType ChargeService ; - int8_t amountMultiplier ; - int RCD ; - struct iso1PhysicalValueType startValue ; - struct iso1CurrentDemandReqType CurrentDemandReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct iso1BodyType Body ; - iso1EVSENotificationType EVSENotification ; - int16_t Value ; - struct iso1KeyInfoType KeyInfo ; - struct { - uint8_t bytes[iso1EXIFragment_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - struct iso1AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso1PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso1ParameterType Parameter ; - struct { - uint8_t bytes[iso1EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct iso1SelectedServiceType SelectedService ; - struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct { - uint8_t bytes[iso1EXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - struct iso1CurrentDemandResType CurrentDemandRes ; - int EVReady ; - struct iso1SignatureMethodType SignatureMethod ; - struct iso1PMaxScheduleType PMaxSchedule ; - iso1unitSymbolType Unit ; - struct { - exi_string_character_t characters[iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct iso1ReferenceType Reference ; - int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ; - struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct iso1PhysicalValueType ChargingProfileEntryMaxPower ; - struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - uint32_t duration ; - int64_t TMeter ; - struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso1ServiceListType ServiceList ; - struct iso1SAScheduleTupleType SAScheduleTuple ; - struct iso1BodyBaseType BodyElement ; - struct iso1PhysicalValueType RemainingTimeToFullSoC ; - struct iso1RelativeTimeIntervalType RelativeTimeInterval ; - struct iso1TransformType Transform ; - uint32_t DepartureTime ; - struct iso1ObjectType Object ; - struct iso1PhysicalValueType EVEnergyRequest ; - struct { - uint8_t bytes[iso1EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - iso1chargingSessionType ChargingSession ; - iso1EnergyTransferModeType RequestedEnergyTransferMode ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int ChargingComplete_isUsed:1; - unsigned int EVMaxVoltage_isUsed:1; - unsigned int ServiceID_isUsed:1; - unsigned int EVRESSSOC_isUsed:1; - unsigned int MeterReading_isUsed:1; - unsigned int physicalValue_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int EVMaxCurrent_isUsed:1; - unsigned int ChargingProfileEntryStart_isUsed:1; - unsigned int EVSEMaxCurrent_isUsed:1; - unsigned int costKind_isUsed:1; - unsigned int EAmount_isUsed:1; - unsigned int EnergyTransferMode_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int NumEPriceLevels_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int PMax_isUsed:1; - unsigned int ParameterSetID_isUsed:1; - unsigned int BulkSOC_isUsed:1; - unsigned int EVSEMinimumCurrentLimit_isUsed:1; - unsigned int EVSEPowerLimitAchieved_isUsed:1; - unsigned int SalesTariffEntry_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int EVSEProcessing_isUsed:1; - unsigned int EVSEIsolationStatus_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int FaultCode_isUsed:1; - unsigned int RootCertificateID_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int byteValue_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int EVMaximumPowerLimit_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; - unsigned int RetryCounter_isUsed:1; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - unsigned int SalesTariff_isUsed:1; - unsigned int PgenCounter_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int EVSEMinimumVoltageLimit_isUsed:1; - unsigned int ResponseCode_isUsed:1; - unsigned int ProfileEntry_isUsed:1; - unsigned int start_isUsed:1; - unsigned int EVErrorCode_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int ContractSignatureCertChain_isUsed:1; - unsigned int EVSEPresentCurrent_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int EVMinCurrent_isUsed:1; - unsigned int FullSOC_isUsed:1; - unsigned int amount_isUsed:1; - unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int Entry_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int shortValue_isUsed:1; - unsigned int SAProvisioningCertificateChain_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int SessionID_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int Header_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int FreeService_isUsed:1; - unsigned int EVSENominalVoltage_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int OEMProvisioningCert_isUsed:1; - unsigned int EVEnergyCapacity_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int AC_EVSEChargeParameter_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int NotificationMaxDelay_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int SalesTariffDescription_isUsed:1; - unsigned int EVSEVoltageLimitAchieved_isUsed:1; - unsigned int boolValue_isUsed:1; - unsigned int EVCCID_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int MeterInfo_isUsed:1; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int Service_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int EVMaximumVoltageLimit_isUsed:1; - unsigned int P_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int intValue_isUsed:1; - unsigned int ChargingProfile_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int ServiceScope_isUsed:1; - unsigned int ReceiptRequired_isUsed:1; - unsigned int ServiceName_isUsed:1; - unsigned int MeterStatus_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int ServiceCategory_isUsed:1; - unsigned int Notification_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int EVSEPresentVoltage_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - unsigned int EVSETimeStamp_isUsed:1; - unsigned int Cost_isUsed:1; - unsigned int EVSEPeakCurrentRipple_isUsed:1; - unsigned int ConsumptionCost_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int EVSECurrentLimitAchieved_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int EPriceLevel_isUsed:1; - unsigned int EVTargetCurrent_isUsed:1; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - unsigned int stringValue_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int Multiplier_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int EVTargetVoltage_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int EVMaximumCurrentLimit_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int EVStatus_isUsed:1; - unsigned int SupportedEnergyTransferMode_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int eMAID_isUsed:1; - unsigned int MaxEntriesSAScheduleTuple_isUsed:1; - unsigned int PaymentOption_isUsed:1; - unsigned int SubCertificates_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int EVSEStatusCode_isUsed:1; - unsigned int PaymentOptionList_isUsed:1; - unsigned int SelectedServiceList_isUsed:1; - unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int FaultMsg_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int ChargeProgress_isUsed:1; - unsigned int SelectedPaymentOption_isUsed:1; - unsigned int EVSEID_isUsed:1; - unsigned int ParameterSet_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; - unsigned int SigMeterReading_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int SASchedules_isUsed:1; - unsigned int SalesTariffID_isUsed:1; - unsigned int DHpublickey_isUsed:1; - unsigned int ServiceParameterList_isUsed:1; - unsigned int ListOfRootCertificateIDs_isUsed:1; - unsigned int MeterID_isUsed:1; - unsigned int ChargeService_isUsed:1; - unsigned int amountMultiplier_isUsed:1; - unsigned int RCD_isUsed:1; - unsigned int startValue_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int Body_isUsed:1; - unsigned int EVSENotification_isUsed:1; - unsigned int Value_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int GenChallenge_isUsed:1; - unsigned int AC_EVChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int Parameter_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int SelectedService_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int Certificate_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int EVReady_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int PMaxSchedule_isUsed:1; - unsigned int Unit_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int ChargingProfileEntryMaxPower_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int duration_isUsed:1; - unsigned int TMeter_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceList_isUsed:1; - unsigned int SAScheduleTuple_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int RemainingTimeToFullSoC_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int DepartureTime_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int EVEnergyRequest_isUsed:1; - unsigned int Modulus_isUsed:1; - unsigned int ChargingSession_isUsed:1; - unsigned int RequestedEnergyTransferMode_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc); -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag); -void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ -void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType); -void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType); -void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType); -void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType); -void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType); -void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType); -void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType); -void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType); -void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType); -void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType); -void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType); -void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType); -void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType); -void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType); -void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType); -void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType); -void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType); -void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType); -void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType); -void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType); -void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType); -void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType); -void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType); -void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType); -void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType); -void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType); -void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType); -void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType); -void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType); -void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType); -void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType); -void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType); -void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType); -void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType); -void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType); -void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType); -void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType); -void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType); -void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType); -void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType); -void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType); -void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType); -void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType); -void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType); -void init_iso1BodyType(struct iso1BodyType* iso1BodyType); -void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType); -void init_iso1TransformType(struct iso1TransformType* iso1TransformType); -void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType); -void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType); -void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType); -void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -void init_iso1EntryType(struct iso1EntryType* iso1EntryType); -void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType); -void init_iso1CostType(struct iso1CostType* iso1CostType); -void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType); -void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType); -void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType); -void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType); -void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType); -void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType); -void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType); -void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType); -void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType); -void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType); -void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType); - - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.c b/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.c deleted file mode 100644 index 49c5685..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.c +++ /dev/null @@ -1,19379 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso1EXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "iso1EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso1_DATATYPES_DECODER_C -#define EXI_iso1_DATATYPES_DECODER_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType); -static int decode_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType); -static int decode_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -static int decode_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType); -static int decode_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -static int decode_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType); -static int decode_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType); -static int decode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -static int decode_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -static int decode_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType); -static int decode_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType); -static int decode_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType); -static int decode_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -static int decode_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType); -static int decode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType); -static int decode_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -static int decode_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -static int decode_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType); -static int decode_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType); -static int decode_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType); -static int decode_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType); -static int decode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -static int decode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -static int decode_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType); -static int decode_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType); -static int decode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType); -static int decode_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType); -static int decode_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -static int decode_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -static int decode_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -static int decode_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType); -static int decode_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType); -static int decode_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType); -static int decode_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType); -static int decode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType); -static int decode_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType); -static int decode_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType); -static int decode_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -static int decode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType); -static int decode_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -static int decode_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType); -static int decode_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -static int decode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType); -static int decode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType); -static int decode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType); -static int decode_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -static int decode_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType); -static int decode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType); -static int decode_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -static int decode_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType); -static int decode_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType); -static int decode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType); -static int decode_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType); -static int decode_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -static int decode_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType); -static int decode_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType); -static int decode_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -static int decode_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType); -static int decode_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType); -static int decode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType); -static int decode_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType); -static int decode_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType); -static int decode_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType); -static int decode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType); -static int decode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType); -static int decode_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType); -static int decode_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -static int decode_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -static int decode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -static int decode_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -static int decode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -static int decode_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -static int decode_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType); -static int decode_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -static int decode_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType); -static int decode_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -static int decode_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType); -static int decode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -static int decode_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -static int decode_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType); -static int decode_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType); -static int decode_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType); -static int decode_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -static int decode_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType); -static int decode_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -static int decode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -static int decode_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -static int decode_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -static int decode_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType); -static int decode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType); -static int decode_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType); -static int decode_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -static int decode_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -static int decode_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType); -static int decode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType); -static int decode_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -static int decode_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType); -static int decode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -static int decode_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -static int decode_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType); -static int decode_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -static int decode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -static int decode_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -static int decode_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType); -static int decode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType); -static int decode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType); - -/* Deviant data decoding (skip functions) */ - - - /* 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_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - int done = 0; - - init_iso1MessageHeaderType(iso1MessageHeaderType); - - while(!done) { - switch(grammarID) { - case 0: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1MessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MessageHeaderType->SessionID.bytesLen) <= iso1MessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MessageHeaderType->SessionID.bytesLen, iso1MessageHeaderType->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:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* 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_iso1NotificationType(stream, &iso1MessageHeaderType->Notification); - iso1MessageHeaderType->Notification_isUsed = 1u; - grammarID = 2; - break; - case 1: - errn = decode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature); - iso1MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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_iso1SignatureType(stream, &iso1MessageHeaderType->Signature); - iso1MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType) { - int grammarID = 5; - int done = 0; - - init_iso1SignatureType(iso1SignatureType); - - while(!done) { - switch(grammarID) { - case 5: - /* 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, &iso1SignatureType->Id.charactersLen); - if (errn == 0) { - if (iso1SignatureType->Id.charactersLen >= 2) { - iso1SignatureType->Id.charactersLen = (uint16_t)(iso1SignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureType->Id.charactersLen, iso1SignatureType->Id.characters, iso1SignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureType->Id_isUsed = 1u; - grammarID = 6; - break; - case 1: - errn = decode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo); - grammarID = 7; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo); - grammarID = 7; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* 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_iso1SignatureValueType(stream, &iso1SignatureType->SignatureValue); - grammarID = 8; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* 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_iso1KeyInfoType(stream, &iso1SignatureType->KeyInfo); - iso1SignatureType->KeyInfo_isUsed = 1u; - grammarID = 9; - break; - case 1: - if (iso1SignatureType->Object.arrayLen < iso1SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso1ObjectType(stream, &iso1SignatureType->Object.array[iso1SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* 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 (iso1SignatureType->Object.arrayLen < iso1SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso1ObjectType(stream, &iso1SignatureType->Object.array[iso1SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - int grammarID = 10; - int done = 0; - - init_iso1PowerDeliveryReqType(iso1PowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1PowerDeliveryReqType->ChargeProgress = (iso1chargeProgressType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1PowerDeliveryReqType->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 = 12; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* 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_iso1ChargingProfileType(stream, &iso1PowerDeliveryReqType->ChargingProfile); - iso1PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 13; - break; - case 1: - errn = decode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* 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_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType) { - int grammarID = 14; - int done = 0; - - init_iso1ParameterType(iso1ParameterType); - - while(!done) { - switch(grammarID) { - case 14: - /* 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, &iso1ParameterType->Name.charactersLen); - if (errn == 0) { - if (iso1ParameterType->Name.charactersLen >= 2) { - iso1ParameterType->Name.charactersLen = (uint16_t)(iso1ParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ParameterType->Name.charactersLen, iso1ParameterType->Name.characters, iso1ParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* 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, &iso1ParameterType->boolValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1ParameterType->byteValue = (int8_t)(uint32 -128); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso1ParameterType->shortValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &iso1ParameterType->intValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso1PhysicalValueType(stream, &iso1ParameterType->physicalValue); - iso1ParameterType->physicalValue_isUsed = 1u; - grammarID = 3; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ParameterType->stringValue.charactersLen); - if (errn == 0) { - if (iso1ParameterType->stringValue.charactersLen >= 2) { - iso1ParameterType->stringValue.charactersLen = (uint16_t)(iso1ParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ParameterType->stringValue.charactersLen, iso1ParameterType->stringValue.characters, iso1ParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - int grammarID = 16; - int done = 0; - - init_iso1CertificateInstallationReqType(iso1CertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 16: - /* 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, &iso1CertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateInstallationReqType->Id.charactersLen >= 2) { - iso1CertificateInstallationReqType->Id.charactersLen = (uint16_t)(iso1CertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateInstallationReqType->Id.charactersLen, iso1CertificateInstallationReqType->Id.characters, iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* 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, &iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen, iso1CertificateInstallationReqType->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 = 18; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType) { - int grammarID = 19; - int done = 0; - - init_iso1SessionSetupResType(iso1SessionSetupResType); - - while(!done) { - switch(grammarID) { - case 19: - /* 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); - iso1SessionSetupResType->ResponseCode = (iso1responseCodeType) 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 = 20; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1SessionSetupResType->EVSEID.charactersLen >= 2) { - iso1SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso1SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SessionSetupResType->EVSEID.charactersLen, iso1SessionSetupResType->EVSEID.characters, iso1SessionSetupResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 21; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1SessionSetupResType->EVSETimeStamp); - iso1SessionSetupResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - int grammarID = 22; - int done = 0; - - init_iso1EVChargeParameterType(iso1EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 22: - /* 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, &iso1EVChargeParameterType->DepartureTime); - iso1EVChargeParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - int grammarID = 23; - int done = 0; - - init_iso1DiffieHellmanPublickeyType(iso1DiffieHellmanPublickeyType); - - while(!done) { - switch(grammarID) { - case 23: - /* 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, &iso1DiffieHellmanPublickeyType->Id.charactersLen); - if (errn == 0) { - if (iso1DiffieHellmanPublickeyType->Id.charactersLen >= 2) { - iso1DiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(iso1DiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DiffieHellmanPublickeyType->Id.charactersLen, iso1DiffieHellmanPublickeyType->Id.characters, iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 24; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1DiffieHellmanPublickeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1DiffieHellmanPublickeyType->CONTENT.bytesLen) <= iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DiffieHellmanPublickeyType->CONTENT.bytesLen, iso1DiffieHellmanPublickeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - int grammarID = 25; - int done = 0; - - init_iso1ServiceDiscoveryResType(iso1ServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 25: - /* 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); - iso1ServiceDiscoveryResType->ResponseCode = (iso1responseCodeType) 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 = 26; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PaymentOptionListType(stream, &iso1ServiceDiscoveryResType->PaymentOptionList); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ChargeServiceType(stream, &iso1ServiceDiscoveryResType->ChargeService); - grammarID = 28; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* 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_iso1ServiceListType(stream, &iso1ServiceDiscoveryResType->ServiceList); - iso1ServiceDiscoveryResType->ServiceList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - int grammarID = 29; - int done = 0; - - init_iso1ServiceParameterListType(iso1ServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceParameterListType->ParameterSet.arrayLen < iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array[iso1ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceParameterListType->ParameterSet.arrayLen < iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array[iso1ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType) { - int grammarID = 31; - int done = 0; - - init_iso1CertificateChainType(iso1CertificateChainType); - - while(!done) { - switch(grammarID) { - case 31: - /* 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, &iso1CertificateChainType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateChainType->Id.charactersLen >= 2) { - iso1CertificateChainType->Id.charactersLen = (uint16_t)(iso1CertificateChainType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateChainType->Id.charactersLen, iso1CertificateChainType->Id.characters, iso1CertificateChainType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CertificateChainType->Id_isUsed = 1u; - grammarID = 32; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso1CertificateChainType->Certificate.bytesLen) <= iso1CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateChainType->Certificate.bytesLen, iso1CertificateChainType->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 = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* 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, &iso1CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso1CertificateChainType->Certificate.bytesLen) <= iso1CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateChainType->Certificate.bytesLen, iso1CertificateChainType->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 = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* 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_iso1SubCertificatesType(stream, &iso1CertificateChainType->SubCertificates); - iso1CertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType) { - int grammarID = 34; - int done = 0; - - init_iso1SASchedulesType(iso1SASchedulesType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - int grammarID = 35; - int done = 0; - - init_iso1DC_EVSEStatusType(iso1DC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 35: - /* 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, &iso1DC_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 = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2: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); - iso1DC_EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 37; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* 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); - iso1DC_EVSEStatusType->EVSEIsolationStatus = (iso1isolationLevelType) uint32; - iso1DC_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 = 38; - } 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); - iso1DC_EVSEStatusType->EVSEStatusCode = (iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 38: - /* 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); - iso1DC_EVSEStatusType->EVSEStatusCode = (iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType) { - int grammarID = 39; - int done = 0; - - init_iso1PreChargeResType(iso1PreChargeResType); - - while(!done) { - switch(grammarID) { - case 39: - /* 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); - iso1PreChargeResType->ResponseCode = (iso1responseCodeType) 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 = 40; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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_iso1DC_EVSEStatusType(stream, &iso1PreChargeResType->DC_EVSEStatus); - grammarID = 41; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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-16})', derivedBy='RESTRICTION'. */ -static int decode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType) { - int grammarID = 42; - int done = 0; - - init_iso1ParameterSetType(iso1ParameterSetType); - - while(!done) { - switch(grammarID) { - case 42: - /* 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, &iso1ParameterSetType->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 = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 45; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 46: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 48; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 49; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 52; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 52: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 53; - break; - case 1: - done = 1; - grammarID = 4; - 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 54; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 54: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 55; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 55: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 56; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 56: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 57; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - int grammarID = 59; - int done = 0; - - init_iso1ServiceDetailReqType(iso1ServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 59: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ServiceDetailReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - int grammarID = 60; - int done = 0; - - init_iso1RelativeTimeIntervalType(iso1RelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 60: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso1RelativeTimeIntervalType->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:2013:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 61; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1RelativeTimeIntervalType->duration); - iso1RelativeTimeIntervalType->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:2013:MsgDataTypes}duration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType) { - int grammarID = 62; - int done = 0; - - init_iso1SignedInfoType(iso1SignedInfoType); - - while(!done) { - switch(grammarID) { - case 62: - /* 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, &iso1SignedInfoType->Id.charactersLen); - if (errn == 0) { - if (iso1SignedInfoType->Id.charactersLen >= 2) { - iso1SignedInfoType->Id.charactersLen = (uint16_t)(iso1SignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignedInfoType->Id.charactersLen, iso1SignedInfoType->Id.characters, iso1SignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignedInfoType->Id_isUsed = 1u; - grammarID = 63; - break; - case 1: - errn = decode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* 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_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* 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_iso1SignatureMethodType(stream, &iso1SignedInfoType->SignatureMethod); - grammarID = 65; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 65: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SignedInfoType->Reference.arrayLen < iso1SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array[iso1SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* 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 (iso1SignedInfoType->Reference.arrayLen < iso1SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array[iso1SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType) { - int grammarID = 67; - int done = 0; - - init_iso1EMAIDType(iso1EMAIDType); - - while(!done) { - switch(grammarID) { - case 67: - /* 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, &iso1EMAIDType->Id.charactersLen); - if (errn == 0) { - if (iso1EMAIDType->Id.charactersLen >= 2) { - iso1EMAIDType->Id.charactersLen = (uint16_t)(iso1EMAIDType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1EMAIDType->Id.charactersLen, iso1EMAIDType->Id.characters, iso1EMAIDType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 68; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1EMAIDType->CONTENT.charactersLen); - if (errn == 0) { - if (iso1EMAIDType->CONTENT.charactersLen >= 2) { - iso1EMAIDType->CONTENT.charactersLen = (uint16_t)(iso1EMAIDType->CONTENT.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1EMAIDType->CONTENT.charactersLen, iso1EMAIDType->CONTENT.characters, iso1EMAIDType_CONTENT_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType) { - int grammarID = 34; - int done = 0; - - init_iso1EVStatusType(iso1EVStatusType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType) { - int grammarID = 69; - int done = 0; - - init_iso1ServiceListType(iso1ServiceListType); - - while(!done) { - switch(grammarID) { - case 69: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* 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 (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 71; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 72; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 73; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 75; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 76; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - int grammarID = 34; - int done = 0; - - init_iso1EVSEChargeParameterType(iso1EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - int grammarID = 34; - int done = 0; - - init_iso1EVPowerDeliveryParameterType(iso1EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType) { - int grammarID = 77; - int done = 0; - - init_iso1ProfileEntryType(iso1ProfileEntryType); - - while(!done) { - switch(grammarID) { - case 77: - /* 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, &iso1ProfileEntryType->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 = 78; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1ProfileEntryType->ChargingProfileEntryMaxPower); - grammarID = 79; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), 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, 2, &(uint32)); - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse = (int8_t)(uint32 + 1); - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - int grammarID = 80; - int done = 0; - - init_iso1AuthorizationReqType(iso1AuthorizationReqType); - - while(!done) { - switch(grammarID) { - case 80: - /* 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, &iso1AuthorizationReqType->Id.charactersLen); - if (errn == 0) { - if (iso1AuthorizationReqType->Id.charactersLen >= 2) { - iso1AuthorizationReqType->Id.charactersLen = (uint16_t)(iso1AuthorizationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1AuthorizationReqType->Id.charactersLen, iso1AuthorizationReqType->Id.characters, iso1AuthorizationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1AuthorizationReqType->Id_isUsed = 1u; - grammarID = 81; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1AuthorizationReqType->GenChallenge.bytesLen) <= iso1AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytesLen, iso1AuthorizationReqType->GenChallenge.bytes); - } - iso1AuthorizationReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* 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, &iso1AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1AuthorizationReqType->GenChallenge.bytesLen) <= iso1AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytesLen, iso1AuthorizationReqType->GenChallenge.bytes); - } - iso1AuthorizationReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType) { - int grammarID = 82; - int done = 0; - - init_iso1MeterInfoType(iso1MeterInfoType); - - while(!done) { - switch(grammarID) { - case 82: - /* 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, &iso1MeterInfoType->MeterID.charactersLen); - if (errn == 0) { - if (iso1MeterInfoType->MeterID.charactersLen >= 2) { - iso1MeterInfoType->MeterID.charactersLen = (uint16_t)(iso1MeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1MeterInfoType->MeterID.charactersLen, iso1MeterInfoType->MeterID.characters, iso1MeterInfoType_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}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 83; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* 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] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso1MeterInfoType->MeterReading); - iso1MeterInfoType->MeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 84; - } 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, &iso1MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso1MeterInfoType->SigMeterReading.bytesLen) <= iso1MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytesLen, iso1MeterInfoType->SigMeterReading.bytes); - } - iso1MeterInfoType->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 = 85; - } 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, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* 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] */ - 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, &iso1MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso1MeterInfoType->SigMeterReading.bytesLen) <= iso1MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytesLen, iso1MeterInfoType->SigMeterReading.bytes); - } - iso1MeterInfoType->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 = 85; - } 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, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType) { - int grammarID = 87; - int done = 0; - - init_iso1ManifestType(iso1ManifestType); - - while(!done) { - switch(grammarID) { - case 87: - /* 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, &iso1ManifestType->Id.charactersLen); - if (errn == 0) { - if (iso1ManifestType->Id.charactersLen >= 2) { - iso1ManifestType->Id.charactersLen = (uint16_t)(iso1ManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ManifestType->Id.charactersLen, iso1ManifestType->Id.characters, iso1ManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ManifestType->Id_isUsed = 1u; - grammarID = 88; - break; - case 1: - if (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* 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 (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - int grammarID = 89; - int done = 0; - - init_iso1ChargeParameterDiscoveryResType(iso1ChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 89: - /* 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); - iso1ChargeParameterDiscoveryResType->ResponseCode = (iso1responseCodeType) 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 = 90; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* 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); - iso1ChargeParameterDiscoveryResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 91; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 91: - /* 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_iso1SAScheduleListType(stream, &iso1ChargeParameterDiscoveryResType->SAScheduleList); - iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 92; - break; - case 1: - errn = decode_iso1SASchedulesType(stream, &iso1ChargeParameterDiscoveryResType->SASchedules); - iso1ChargeParameterDiscoveryResType->SASchedules_isUsed = 1u; - grammarID = 92; - break; - case 2: - errn = decode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* 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_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - int grammarID = 93; - int done = 0; - - init_iso1PowerDeliveryResType(iso1PowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 93: - /* 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); - iso1PowerDeliveryResType->ResponseCode = (iso1responseCodeType) 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 = 94; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* 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_iso1AC_EVSEStatusType(stream, &iso1PowerDeliveryResType->AC_EVSEStatus); - iso1PowerDeliveryResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1PowerDeliveryResType->DC_EVSEStatus); - iso1PowerDeliveryResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEStatusType(stream, &iso1PowerDeliveryResType->EVSEStatus); - iso1PowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - int grammarID = 95; - int done = 0; - - init_iso1DC_EVChargeParameterType(iso1DC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 95: - /* 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, &iso1DC_EVChargeParameterType->DepartureTime); - iso1DC_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 = 96; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus); - grammarID = 97; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* 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_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus); - grammarID = 97; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumCurrentLimit); - grammarID = 98; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumPowerLimit); - iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 99; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 100; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 100; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyCapacity); - iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed = 1u; - grammarID = 101; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest); - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 102; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 101: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest); - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 102; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* 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)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 103: - /* 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - int grammarID = 104; - int done = 0; - - init_iso1ConsumptionCostType(iso1ConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1ConsumptionCostType->startValue); - grammarID = 105; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.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({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - int grammarID = 108; - int done = 0; - - init_iso1PMaxScheduleType(iso1PMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array[iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* 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 (iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array[iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - 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_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - int grammarID = 110; - int done = 0; - - init_iso1PaymentOptionListType(iso1PaymentOptionListType); - - while(!done) { - switch(grammarID) { - case 110: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PaymentOptionListType->PaymentOption.arrayLen < iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType->PaymentOption.arrayLen] = (iso1paymentOptionType) uint32; - iso1PaymentOptionListType->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}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 111; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PaymentOptionListType->PaymentOption.arrayLen < iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType->PaymentOption.arrayLen] = (iso1paymentOptionType) uint32; - iso1PaymentOptionListType->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}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType) { - int grammarID = 112; - int done = 0; - - init_iso1ObjectType(iso1ObjectType); - - while(!done) { - switch(grammarID) { - case 112: - /* 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, &iso1ObjectType->Encoding.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Encoding.charactersLen >= 2) { - iso1ObjectType->Encoding.charactersLen = (uint16_t)(iso1ObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Encoding.charactersLen, iso1ObjectType->Encoding.characters, iso1ObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Encoding_isUsed = 1u; - grammarID = 113; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Id.charactersLen >= 2) { - iso1ObjectType->Id.charactersLen = (uint16_t)(iso1ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Id.charactersLen, iso1ObjectType->Id.characters, iso1ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Id_isUsed = 1u; - grammarID = 114; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 4: - done = 1; - grammarID = 4; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* 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, &iso1ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Id.charactersLen >= 2) { - iso1ObjectType->Id.charactersLen = (uint16_t)(iso1ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Id.charactersLen, iso1ObjectType->Id.characters, iso1ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Id_isUsed = 1u; - grammarID = 114; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 3: - done = 1; - grammarID = 4; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 114: - /* 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, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - int grammarID = 117; - int done = 0; - - init_iso1PhysicalValueType(iso1PhysicalValueType); - - while(!done) { - switch(grammarID) { - case 117: - /* 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)); - iso1PhysicalValueType->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 = 118; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 118: - /* 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); - iso1PhysicalValueType->Unit = (iso1unitSymbolType) 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 = 119; - } 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: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, &iso1PhysicalValueType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - int grammarID = 120; - int done = 0; - - init_iso1RSAKeyValueType(iso1RSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 120: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1RSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (iso1RSAKeyValueType->Modulus.bytesLen) <= iso1RSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1RSAKeyValueType->Modulus.bytesLen, iso1RSAKeyValueType->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 = 121; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 121: - /* 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, &iso1RSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (iso1RSAKeyValueType->Exponent.bytesLen) <= iso1RSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1RSAKeyValueType->Exponent.bytesLen, iso1RSAKeyValueType->Exponent.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType) { - int grammarID = 122; - int done = 0; - - init_iso1SessionStopResType(iso1SessionStopResType); - - while(!done) { - switch(grammarID) { - case 122: - /* 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); - iso1SessionStopResType->ResponseCode = (iso1responseCodeType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - int grammarID = 123; - int done = 0; - - init_iso1CertificateUpdateReqType(iso1CertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 123: - /* 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, &iso1CertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateUpdateReqType->Id.charactersLen >= 2) { - iso1CertificateUpdateReqType->Id.charactersLen = (uint16_t)(iso1CertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateUpdateReqType->Id.charactersLen, iso1CertificateUpdateReqType->Id.characters, iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 124; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 125; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 125: - /* 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, &iso1CertificateUpdateReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso1CertificateUpdateReqType->eMAID.charactersLen >= 2) { - iso1CertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(iso1CertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateUpdateReqType->eMAID.charactersLen, iso1CertificateUpdateReqType->eMAID.characters, iso1CertificateUpdateReqType_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:2013:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 18; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType) { - int grammarID = 126; - int done = 0; - - init_iso1SignatureValueType(iso1SignatureValueType); - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->Id.charactersLen); - if (errn == 0) { - if (iso1SignatureValueType->Id.charactersLen >= 2) { - iso1SignatureValueType->Id.charactersLen = (uint16_t)(iso1SignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureValueType->Id.charactersLen, iso1SignatureValueType->Id.characters, iso1SignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureValueType->Id_isUsed = 1u; - grammarID = 24; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1SignatureValueType->CONTENT.bytesLen) <= iso1SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SignatureValueType->CONTENT.bytesLen, iso1SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1SignatureValueType->CONTENT.bytesLen) <= iso1SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SignatureValueType->CONTENT.bytesLen, iso1SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - int grammarID = 127; - int done = 0; - - init_iso1PaymentDetailsReqType(iso1PaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 127: - /* 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, &iso1PaymentDetailsReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso1PaymentDetailsReqType->eMAID.charactersLen >= 2) { - iso1PaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(iso1PaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1PaymentDetailsReqType->eMAID.charactersLen, iso1PaymentDetailsReqType->eMAID.characters, iso1PaymentDetailsReqType_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: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}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1PaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType) { - int grammarID = 129; - int done = 0; - - init_iso1AuthorizationResType(iso1AuthorizationResType); - - while(!done) { - switch(grammarID) { - case 129: - /* 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); - iso1AuthorizationResType->ResponseCode = (iso1responseCodeType) 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 = 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: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); - iso1AuthorizationResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - int grammarID = 131; - int done = 0; - - init_iso1DC_EVSEChargeParameterType(iso1DC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 131: - /* 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_iso1DC_EVSEStatusType(stream, &iso1DC_EVSEChargeParameterType->DC_EVSEStatus); - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumCurrentLimit); - grammarID = 133; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumPowerLimit); - grammarID = 134; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 135; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumCurrentLimit); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumVoltageLimit); - grammarID = 137; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 137: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 138; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 139; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 139; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType) { - int grammarID = 140; - int done = 0; - - init_iso1SubCertificatesType(iso1SubCertificatesType); - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 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:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 142; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 143; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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 decode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - int grammarID = 144; - int done = 0; - - init_iso1ChargingStatusResType(iso1ChargingStatusResType); - - 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); - iso1ChargingStatusResType->ResponseCode = (iso1responseCodeType) 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}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, &iso1ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso1ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso1ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargingStatusResType->EVSEID.charactersLen, iso1ChargingStatusResType->EVSEID.characters, iso1ChargingStatusResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 146; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1ChargingStatusResType->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 = 147; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 147: - /* 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_iso1PhysicalValueType(stream, &iso1ChargingStatusResType->EVSEMaxCurrent); - iso1ChargingStatusResType->EVSEMaxCurrent_isUsed = 1u; - grammarID = 148; - break; - case 1: - errn = decode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo); - iso1ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 149; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo); - iso1ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 149; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - 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, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - int grammarID = 151; - int done = 0; - - init_iso1DSAKeyValueType(iso1DSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 151: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->P.bytesLen) <= iso1DSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->P.bytesLen, iso1DSAKeyValueType->P.bytes); - } - iso1DSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 152; - } 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, &iso1DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->G.bytesLen) <= iso1DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->G.bytesLen, iso1DSAKeyValueType->G.bytes); - } - iso1DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } 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({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Q.bytesLen) <= iso1DSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Q.bytesLen, iso1DSAKeyValueType->Q.bytes); - } - iso1DSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 155; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->G.bytesLen) <= iso1DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->G.bytesLen, iso1DSAKeyValueType->G.bytes); - } - iso1DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->J.bytesLen) <= iso1DSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->J.bytesLen, iso1DSAKeyValueType->J.bytes); - } - iso1DSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 156; - } 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, &iso1DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Seed.bytesLen) <= iso1DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Seed.bytesLen, iso1DSAKeyValueType->Seed.bytes); - } - iso1DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 157; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Seed.bytesLen) <= iso1DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Seed.bytesLen, iso1DSAKeyValueType->Seed.bytes); - } - iso1DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 157; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 157: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->PgenCounter.bytesLen) <= iso1DSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->PgenCounter.bytesLen, iso1DSAKeyValueType->PgenCounter.bytes); - } - iso1DSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - int grammarID = 158; - int done = 0; - - init_iso1ListOfRootCertificateIDsType(iso1ListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 158: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array[iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* 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 (iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array[iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType) { - int grammarID = 160; - int done = 0; - - init_iso1ChargeServiceType(iso1ChargeServiceType); - - while(!done) { - switch(grammarID) { - case 160: - /* 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, &iso1ChargeServiceType->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 = 161; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* 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, &iso1ChargeServiceType->ServiceName.charactersLen); - if (errn == 0) { - if (iso1ChargeServiceType->ServiceName.charactersLen >= 2) { - iso1ChargeServiceType->ServiceName.charactersLen = (uint16_t)(iso1ChargeServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargeServiceType->ServiceName.charactersLen, iso1ChargeServiceType->ServiceName.characters, iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ChargeServiceType->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 = 162; - } 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); - iso1ChargeServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 163; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* 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); - iso1ChargeServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 163; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* 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, &iso1ChargeServiceType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ChargeServiceType->ServiceScope.charactersLen >= 2) { - iso1ChargeServiceType->ServiceScope.charactersLen = (uint16_t)(iso1ChargeServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargeServiceType->ServiceScope.charactersLen, iso1ChargeServiceType->ServiceScope.characters, iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ChargeServiceType->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 = 164; - } 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, &iso1ChargeServiceType->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 = 165; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* 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, &iso1ChargeServiceType->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 = 165; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1SupportedEnergyTransferModeType(stream, &iso1ChargeServiceType->SupportedEnergyTransferMode); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType) { - int grammarID = 34; - int done = 0; - - init_iso1IntervalType(iso1IntervalType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - int grammarID = 166; - int done = 0; - - init_iso1MeteringReceiptReqType(iso1MeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 166: - /* 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, &iso1MeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - if (iso1MeteringReceiptReqType->Id.charactersLen >= 2) { - iso1MeteringReceiptReqType->Id.charactersLen = (uint16_t)(iso1MeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1MeteringReceiptReqType->Id.charactersLen, iso1MeteringReceiptReqType->Id.characters, iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1MeteringReceiptReqType->Id_isUsed = 1u; - grammarID = 167; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MeteringReceiptReqType->SessionID.bytesLen) <= iso1MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytesLen, iso1MeteringReceiptReqType->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 = 168; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* 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, &iso1MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MeteringReceiptReqType->SessionID.bytesLen) <= iso1MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytesLen, iso1MeteringReceiptReqType->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 = 168; - } 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}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)); - iso1MeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso1MeteringReceiptReqType->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 = 169; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - int grammarID = 170; - int done = 0; - - init_iso1ServiceDetailResType(iso1ServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 170: - /* 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); - iso1ServiceDetailResType->ResponseCode = (iso1responseCodeType) 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 = 171; - } 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}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, &iso1ServiceDetailResType->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 = 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}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ServiceParameterListType(stream, &iso1ServiceDetailResType->ServiceParameterList); - iso1ServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType) { - int grammarID = 173; - int done = 0; - - init_iso1KeyValueType(iso1KeyValueType); - - while(!done) { - switch(grammarID) { - case 173: - /* 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_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue); - iso1KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 1: - errn = decode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue); - iso1KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 174; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 175; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 174; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 175: - /* 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_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue); - iso1KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 1: - errn = decode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue); - iso1KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 174; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 175; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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-16})', derivedBy='RESTRICTION'. */ -static int decode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - int grammarID = 176; - int done = 0; - - init_iso1SelectedServiceListType(iso1SelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 176: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 177; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 177: - /* 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 (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType) { - int grammarID = 192; - int done = 0; - - init_iso1CableCheckResType(iso1CableCheckResType); - - while(!done) { - switch(grammarID) { - case 192: - /* 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); - iso1CableCheckResType->ResponseCode = (iso1responseCodeType) 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 = 193; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 193: - /* 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_iso1DC_EVSEStatusType(stream, &iso1CableCheckResType->DC_EVSEStatus); - grammarID = 130; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 130: - /* 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); - iso1CableCheckResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - int grammarID = 194; - int done = 0; - - init_iso1X509IssuerSerialType(iso1X509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 194: - /* 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, &iso1X509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (iso1X509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - iso1X509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(iso1X509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509IssuerSerialType->X509IssuerName.charactersLen, iso1X509IssuerSerialType->X509IssuerName.characters, iso1X509IssuerSerialType_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 = 195; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* 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 = decodeIntegerBig(stream, &iso1X509IssuerSerialType->X509SerialNumber.negative, iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE, iso1X509IssuerSerialType->X509SerialNumber.data, &iso1X509IssuerSerialType->X509SerialNumber.len); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType) { - int grammarID = 196; - int done = 0; - - init_iso1KeyInfoType(iso1KeyInfoType); - - while(!done) { - switch(grammarID) { - case 196: - /* 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, &iso1KeyInfoType->Id.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->Id.charactersLen >= 2) { - iso1KeyInfoType->Id.charactersLen = (uint16_t)(iso1KeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->Id.charactersLen, iso1KeyInfoType->Id.characters, iso1KeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->Id_isUsed = 1u; - grammarID = 197; - break; - case 1: - if (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 7: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 198: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - done = 1; - grammarID = 4; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 198; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = 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_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType) { - int grammarID = 200; - int done = 0; - - init_iso1TransformsType(iso1TransformsType); - - while(!done) { - switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1TransformsType->Transform.arrayLen < iso1TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso1TransformType(stream, &iso1TransformsType->Transform.array[iso1TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 201: - /* 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 (iso1TransformsType->Transform.arrayLen < iso1TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso1TransformType(stream, &iso1TransformsType->Transform.array[iso1TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - int grammarID = 202; - int done = 0; - - init_iso1ChargeParameterDiscoveryReqType(iso1ChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 202: - /* 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, &iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - iso1ChargeParameterDiscoveryReqType->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 = 203; - } 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); - iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) 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 = 204; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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); - iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) 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 = 204; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 204: - /* 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_iso1AC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType) { - int grammarID = 205; - int done = 0; - - init_iso1PreChargeReqType(iso1PreChargeReqType); - - while(!done) { - switch(grammarID) { - case 205: - /* 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_iso1DC_EVStatusType(stream, &iso1PreChargeReqType->DC_EVStatus); - grammarID = 206; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetVoltage); - grammarID = 207; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType) { - int grammarID = 208; - int done = 0; - - init_iso1EVSEStatusType(iso1EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 208: - /* 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, &iso1EVSEStatusType->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 = 209; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* 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); - iso1EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType) { - int grammarID = 210; - int done = 0; - - init_iso1SignatureMethodType(iso1SignatureMethodType); - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->Algorithm.charactersLen >= 2) { - iso1SignatureMethodType->Algorithm.charactersLen = (uint16_t)(iso1SignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->Algorithm.charactersLen, iso1SignatureMethodType->Algorithm.characters, iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE); - } 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({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, &iso1SignatureMethodType->HMACOutputLength); - iso1SignatureMethodType->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 = 116; - } 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 = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 212; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 212: - /* 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, &iso1SignatureMethodType->HMACOutputLength); - iso1SignatureMethodType->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 = 116; - } 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 = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 212; - break; - default: - errn = 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_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType) { - int grammarID = 213; - int done = 0; - - init_iso1X509DataType(iso1X509DataType); - - while(!done) { - switch(grammarID) { - case 213: - /* 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 (iso1X509DataType->X509IssuerSerial.arrayLen < iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array[iso1X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - if (iso1X509DataType->X509SKI.arrayLen < iso1X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen) <= iso1X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1X509DataType->X509SubjectName.arrayLen < iso1X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].characters, iso1X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso1X509DataType->X509Certificate.arrayLen < iso1X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen) <= iso1X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso1X509DataType->X509CRL.arrayLen < iso1X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen) <= iso1X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } 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 = 214; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 214: - /* 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 (iso1X509DataType->X509IssuerSerial.arrayLen < iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array[iso1X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - if (iso1X509DataType->X509SKI.arrayLen < iso1X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen) <= iso1X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1X509DataType->X509SubjectName.arrayLen < iso1X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].characters, iso1X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso1X509DataType->X509Certificate.arrayLen < iso1X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen) <= iso1X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso1X509DataType->X509CRL.arrayLen < iso1X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen) <= iso1X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } 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 = 214; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType) { - int grammarID = 215; - int done = 0; - - init_iso1NotificationType(iso1NotificationType); - - while(!done) { - switch(grammarID) { - case 215: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode)] */ - 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); - iso1NotificationType->FaultCode = (iso1faultCodeType) 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 = 216; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), END_ELEMENT] */ - 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, &iso1NotificationType->FaultMsg.charactersLen); - if (errn == 0) { - if (iso1NotificationType->FaultMsg.charactersLen >= 2) { - iso1NotificationType->FaultMsg.charactersLen = (uint16_t)(iso1NotificationType->FaultMsg.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1NotificationType->FaultMsg.charactersLen, iso1NotificationType->FaultMsg.characters, iso1NotificationType_FaultMsg_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1NotificationType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType) { - int grammarID = 217; - int done = 0; - - init_iso1SAScheduleListType(iso1SAScheduleListType); - - while(!done) { - switch(grammarID) { - case 217: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 218; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* 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 (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - int done = 0; - - init_iso1BodyType(iso1BodyType); - - while(!done) { - switch(grammarID) { - case 220: - /* 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_iso1AuthorizationReqType(stream, &iso1BodyType->AuthorizationReq); - iso1BodyType->AuthorizationReq_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1AuthorizationResType(stream, &iso1BodyType->AuthorizationRes); - iso1BodyType->AuthorizationRes_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1BodyBaseType(stream, &iso1BodyType->BodyElement); - iso1BodyType->BodyElement_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso1CableCheckReqType(stream, &iso1BodyType->CableCheckReq); - iso1BodyType->CableCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso1CableCheckResType(stream, &iso1BodyType->CableCheckRes); - iso1BodyType->CableCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso1CertificateInstallationReqType(stream, &iso1BodyType->CertificateInstallationReq); - iso1BodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso1CertificateInstallationResType(stream, &iso1BodyType->CertificateInstallationRes); - iso1BodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 3; - break; - case 7: - errn = decode_iso1CertificateUpdateReqType(stream, &iso1BodyType->CertificateUpdateReq); - iso1BodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 3; - break; - case 8: - errn = decode_iso1CertificateUpdateResType(stream, &iso1BodyType->CertificateUpdateRes); - iso1BodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 3; - break; - case 9: - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &iso1BodyType->ChargeParameterDiscoveryReq); - iso1BodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 10: - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &iso1BodyType->ChargeParameterDiscoveryRes); - iso1BodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 11: - errn = decode_iso1ChargingStatusReqType(stream, &iso1BodyType->ChargingStatusReq); - iso1BodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 12: - errn = decode_iso1ChargingStatusResType(stream, &iso1BodyType->ChargingStatusRes); - iso1BodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 13: - errn = decode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq); - iso1BodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 14: - errn = decode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes); - iso1BodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 15: - errn = decode_iso1MeteringReceiptReqType(stream, &iso1BodyType->MeteringReceiptReq); - iso1BodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 3; - break; - case 16: - errn = decode_iso1MeteringReceiptResType(stream, &iso1BodyType->MeteringReceiptRes); - iso1BodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 3; - break; - case 17: - errn = decode_iso1PaymentDetailsReqType(stream, &iso1BodyType->PaymentDetailsReq); - iso1BodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 3; - break; - case 18: - errn = decode_iso1PaymentDetailsResType(stream, &iso1BodyType->PaymentDetailsRes); - iso1BodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 3; - break; - case 19: - errn = decode_iso1PaymentServiceSelectionReqType(stream, &iso1BodyType->PaymentServiceSelectionReq); - iso1BodyType->PaymentServiceSelectionReq_isUsed = 1u; - grammarID = 3; - break; - case 20: - errn = decode_iso1PaymentServiceSelectionResType(stream, &iso1BodyType->PaymentServiceSelectionRes); - iso1BodyType->PaymentServiceSelectionRes_isUsed = 1u; - grammarID = 3; - break; - case 21: - errn = decode_iso1PowerDeliveryReqType(stream, &iso1BodyType->PowerDeliveryReq); - iso1BodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 3; - break; - case 22: - errn = decode_iso1PowerDeliveryResType(stream, &iso1BodyType->PowerDeliveryRes); - iso1BodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 3; - break; - case 23: - errn = decode_iso1PreChargeReqType(stream, &iso1BodyType->PreChargeReq); - iso1BodyType->PreChargeReq_isUsed = 1u; - grammarID = 3; - break; - case 24: - errn = decode_iso1PreChargeResType(stream, &iso1BodyType->PreChargeRes); - iso1BodyType->PreChargeRes_isUsed = 1u; - grammarID = 3; - break; - case 25: - errn = decode_iso1ServiceDetailReqType(stream, &iso1BodyType->ServiceDetailReq); - iso1BodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 3; - break; - case 26: - errn = decode_iso1ServiceDetailResType(stream, &iso1BodyType->ServiceDetailRes); - iso1BodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 3; - break; - case 27: - errn = decode_iso1ServiceDiscoveryReqType(stream, &iso1BodyType->ServiceDiscoveryReq); - iso1BodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 28: - errn = decode_iso1ServiceDiscoveryResType(stream, &iso1BodyType->ServiceDiscoveryRes); - iso1BodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 29: - errn = decode_iso1SessionSetupReqType(stream, &iso1BodyType->SessionSetupReq); - iso1BodyType->SessionSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 30: - errn = decode_iso1SessionSetupResType(stream, &iso1BodyType->SessionSetupRes); - iso1BodyType->SessionSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 31: - errn = decode_iso1SessionStopReqType(stream, &iso1BodyType->SessionStopReq); - iso1BodyType->SessionStopReq_isUsed = 1u; - grammarID = 3; - break; - case 32: - errn = decode_iso1SessionStopResType(stream, &iso1BodyType->SessionStopRes); - iso1BodyType->SessionStopRes_isUsed = 1u; - grammarID = 3; - break; - case 33: - errn = decode_iso1WeldingDetectionReqType(stream, &iso1BodyType->WeldingDetectionReq); - iso1BodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 3; - break; - case 34: - errn = decode_iso1WeldingDetectionResType(stream, &iso1BodyType->WeldingDetectionRes); - iso1BodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 3; - break; - case 35: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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-24})', derivedBy='RESTRICTION'. */ -static int decode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType) { - int grammarID = 221; - int done = 0; - - init_iso1ChargingProfileType(iso1ChargingProfileType); - - while(!done) { - switch(grammarID) { - case 221: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* 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 (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType) { - int grammarID = 245; - int done = 0; - - init_iso1TransformType(iso1TransformType); - - while(!done) { - switch(grammarID) { - case 245: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1TransformType->Algorithm.charactersLen >= 2) { - iso1TransformType->Algorithm.charactersLen = (uint16_t)(iso1TransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->Algorithm.charactersLen, iso1TransformType->Algorithm.characters, iso1TransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 246; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* 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 (iso1TransformType->XPath.arrayLen < iso1TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen >= 2) { - iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].characters, iso1TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->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 = 247; - } 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 = 247; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso1TransformType->ANY.charactersLen >= 2) { - iso1TransformType->ANY.charactersLen = (uint16_t)(iso1TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->ANY.charactersLen, iso1TransformType->ANY.characters, iso1TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->ANY_isUsed = 1u; - grammarID = 247; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 247: - /* 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 (iso1TransformType->XPath.arrayLen < iso1TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen >= 2) { - iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].characters, iso1TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->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 = 247; - } 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 = 247; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso1TransformType->ANY.charactersLen >= 2) { - iso1TransformType->ANY.charactersLen = (uint16_t)(iso1TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->ANY.charactersLen, iso1TransformType->ANY.characters, iso1TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->ANY_isUsed = 1u; - grammarID = 247; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - int grammarID = 248; - int done = 0; - - init_iso1SAScheduleTupleType(iso1SAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 248: - /* 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)); - iso1SAScheduleTupleType->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 = 249; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PMaxScheduleType(stream, &iso1SAScheduleTupleType->PMaxSchedule); - grammarID = 250; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* 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_iso1SalesTariffType(stream, &iso1SAScheduleTupleType->SalesTariff); - iso1SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - int grammarID = 251; - int done = 0; - - init_iso1AC_EVChargeParameterType(iso1AC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - 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, &iso1AC_EVChargeParameterType->DepartureTime); - iso1AC_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 = 252; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount); - grammarID = 253; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount); - grammarID = 253; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxVoltage); - grammarID = 254; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxCurrent); - grammarID = 255; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMinCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - int done = 0; - - init_iso1AnonType_V2G_Message(iso1AnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 256: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header); - grammarID = 257; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - int grammarID = 258; - int done = 0; - - init_iso1PaymentDetailsResType(iso1PaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 258: - /* 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); - iso1PaymentDetailsResType->ResponseCode = (iso1responseCodeType) 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 = 259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* 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, &iso1PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1PaymentDetailsResType->GenChallenge.bytesLen) <= iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PaymentDetailsResType->GenChallenge.bytesLen, iso1PaymentDetailsResType->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 = 260; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 260: - /* 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, &iso1PaymentDetailsResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 23; - int done = 0; - - init_iso1ContractSignatureEncryptedPrivateKeyType(iso1ContractSignatureEncryptedPrivateKeyType); - - while(!done) { - switch(grammarID) { - case 23: - /* 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, &iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - if (errn == 0) { - if (iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { - iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen, iso1ContractSignatureEncryptedPrivateKeyType->Id.characters, iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 24; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - int grammarID = 261; - int done = 0; - - init_iso1PMaxScheduleEntryType(iso1PMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 261: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1PMaxScheduleEntryType->RelativeTimeInterval); - iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 262; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1PMaxScheduleEntryType->TimeInterval); - iso1PMaxScheduleEntryType->TimeInterval_isUsed = 1u; - grammarID = 262; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PMaxScheduleEntryType->PMax); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType) { - int grammarID = 263; - int done = 0; - - init_iso1SPKIDataType(iso1SPKIDataType); - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } 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 = 265; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 265: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - int grammarID = 93; - int done = 0; - - init_iso1MeteringReceiptResType(iso1MeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 93: - /* 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); - iso1MeteringReceiptResType->ResponseCode = (iso1responseCodeType) 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 = 94; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* 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_iso1AC_EVSEStatusType(stream, &iso1MeteringReceiptResType->AC_EVSEStatus); - iso1MeteringReceiptResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1MeteringReceiptResType->DC_EVSEStatus); - iso1MeteringReceiptResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEStatusType(stream, &iso1MeteringReceiptResType->EVSEStatus); - iso1MeteringReceiptResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType) { - int grammarID = 266; - int done = 0; - - init_iso1SessionStopReqType(iso1SessionStopReqType); - - while(!done) { - switch(grammarID) { - case 266: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1SessionStopReqType->ChargingSession = (iso1chargingSessionType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - int grammarID = 39; - int done = 0; - - init_iso1WeldingDetectionResType(iso1WeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 39: - /* 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); - iso1WeldingDetectionResType->ResponseCode = (iso1responseCodeType) 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 = 40; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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_iso1DC_EVSEStatusType(stream, &iso1WeldingDetectionResType->DC_EVSEStatus); - grammarID = 41; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType) { - int grammarID = 267; - int done = 0; - - init_iso1ReferenceType(iso1ReferenceType); - - while(!done) { - switch(grammarID) { - case 267: - /* 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, &iso1ReferenceType->Id.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Id.charactersLen >= 2) { - iso1ReferenceType->Id.charactersLen = (uint16_t)(iso1ReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Id.charactersLen, iso1ReferenceType->Id.characters, iso1ReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Id_isUsed = 1u; - grammarID = 268; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Type.charactersLen >= 2) { - iso1ReferenceType->Type.charactersLen = (uint16_t)(iso1ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Type.charactersLen, iso1ReferenceType->Type.characters, iso1ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Type_isUsed = 1u; - grammarID = 269; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 3: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 4: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 268: - /* 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, &iso1ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Type.charactersLen >= 2) { - iso1ReferenceType->Type.charactersLen = (uint16_t)(iso1ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Type.charactersLen, iso1ReferenceType->Type.characters, iso1ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Type_isUsed = 1u; - grammarID = 269; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 2: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 3: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* 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, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 1: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 2: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 270: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 1: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* 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_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (iso1ReferenceType->DigestValue.bytesLen) <= iso1ReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1ReferenceType->DigestValue.bytesLen, iso1ReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - int done = 0; - - init_iso1CurrentDemandReqType(iso1CurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 273: - /* 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_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus); - grammarID = 274; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent); - grammarID = 275; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit); - iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 1u; - grammarID = 276; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit); - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 277; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit); - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 277; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* 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, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 279: - /* 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC); - iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 1u; - grammarID = 281; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC); - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 282; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC); - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 282; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - int grammarID = 283; - int done = 0; - - init_iso1SalesTariffEntryType(iso1SalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 283: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1SalesTariffEntryType->RelativeTimeInterval); - iso1SalesTariffEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 284; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1SalesTariffEntryType->TimeInterval); - iso1SalesTariffEntryType->TimeInterval_isUsed = 1u; - grammarID = 284; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* 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); - 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)); - iso1SalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - iso1SalesTariffEntryType->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:2013:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 285; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 287; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType) { - int grammarID = 288; - int done = 0; - - init_iso1EntryType(iso1EntryType); - - while(!done) { - switch(grammarID) { - case 288: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1EntryType->RelativeTimeInterval); - iso1EntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1EntryType->TimeInterval); - iso1EntryType->TimeInterval_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - int grammarID = 289; - int done = 0; - - init_iso1SessionSetupReqType(iso1SessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 289: - /* 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, &iso1SessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (iso1SessionSetupReqType->EVCCID.bytesLen) <= iso1SessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SessionSetupReqType->EVCCID.bytesLen, iso1SessionSetupReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType) { - int grammarID = 290; - int done = 0; - - init_iso1CostType(iso1CostType); - - while(!done) { - switch(grammarID) { - case 290: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso1CostType->costKind = (iso1costKindType) 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}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 291; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 291: - /* 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, &iso1CostType->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 = 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}amountMultiplier), 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, 3, &(uint32)); - iso1CostType->amountMultiplier = (int8_t)(uint32 -3); - iso1CostType->amountMultiplier_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - int grammarID = 293; - int done = 0; - - init_iso1DC_EVPowerDeliveryParameterType(iso1DC_EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 293: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DC_EVStatusType(stream, &iso1DC_EVPowerDeliveryParameterType->DC_EVStatus); - grammarID = 294; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 294: - /* 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, &iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete); - iso1DC_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 = 295; - } 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, &iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 295: - /* 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, &iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - int grammarID = 296; - int done = 0; - - init_iso1RetrievalMethodType(iso1RetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 296: - /* 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, &iso1RetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->Type.charactersLen >= 2) { - iso1RetrievalMethodType->Type.charactersLen = (uint16_t)(iso1RetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->Type.charactersLen, iso1RetrievalMethodType->Type.characters, iso1RetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->Type_isUsed = 1u; - grammarID = 297; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->URI.charactersLen >= 2) { - iso1RetrievalMethodType->URI.charactersLen = (uint16_t)(iso1RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->URI.charactersLen, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->URI_isUsed = 1u; - grammarID = 298; - break; - case 2: - errn = decode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 297: - /* 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, &iso1RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->URI.charactersLen >= 2) { - iso1RetrievalMethodType->URI.charactersLen = (uint16_t)(iso1RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->URI.charactersLen, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->URI_isUsed = 1u; - grammarID = 298; - break; - case 1: - errn = decode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 298: - /* 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_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - int grammarID = 299; - int done = 0; - - init_iso1CertificateUpdateResType(iso1CertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 299: - /* 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); - iso1CertificateUpdateResType->ResponseCode = (iso1responseCodeType) 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 = 300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 301; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->ContractSignatureCertChain); - grammarID = 302; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateUpdateResType->ContractSignatureEncryptedPrivateKey); - grammarID = 303; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateUpdateResType->DHpublickey); - grammarID = 304; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1EMAIDType(stream, &iso1CertificateUpdateResType->eMAID); - grammarID = 305; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 305: - /* 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, &iso1CertificateUpdateResType->RetryCounter); - iso1CertificateUpdateResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - int grammarID = 306; - int done = 0; - - init_iso1CertificateInstallationResType(iso1CertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 306: - /* 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); - iso1CertificateInstallationResType->ResponseCode = (iso1responseCodeType) 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 = 307; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 308; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->ContractSignatureCertChain); - grammarID = 309; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateInstallationResType->ContractSignatureEncryptedPrivateKey); - grammarID = 310; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateInstallationResType->DHpublickey); - grammarID = 311; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1EMAIDType(stream, &iso1CertificateInstallationResType->eMAID); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - int grammarID = 312; - int done = 0; - - init_iso1CanonicalizationMethodType(iso1CanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 312: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->Algorithm.charactersLen >= 2) { - iso1CanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->Algorithm.charactersLen, iso1CanonicalizationMethodType->Algorithm.characters, iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 115; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso1CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->ANY.charactersLen, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso1CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->ANY.charactersLen, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - int grammarID = 313; - int done = 0; - - init_iso1WeldingDetectionReqType(iso1WeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 313: - /* 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_iso1DC_EVStatusType(stream, &iso1WeldingDetectionReqType->DC_EVStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - int grammarID = 314; - int done = 0; - - init_iso1DC_EVStatusType(iso1DC_EVStatusType); - - while(!done) { - switch(grammarID) { - case 314: - /* 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, &iso1DC_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 = 315; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode)] */ - 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); - iso1DC_EVStatusType->EVErrorCode = (iso1DC_EVErrorCodeType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 316; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC)] */ - 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, 7, &(uint32)); - iso1DC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - int done = 0; - - init_iso1CurrentDemandResType(iso1CurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 317: - /* 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); - iso1CurrentDemandResType->ResponseCode = (iso1responseCodeType) 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 = 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:2013:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus); - grammarID = 319; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage); - grammarID = 320; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 320: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent); - grammarID = 321; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->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:2013:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 322; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->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:2013:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 323; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 323: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandResType->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:2013:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 324; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 324: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit); - iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 1u; - grammarID = 325; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit); - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 326; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 325: - /* 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)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit); - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 326; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 326: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1CurrentDemandResType->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 = 329; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo); - iso1CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 330; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandResType->ReceiptRequired); - iso1CurrentDemandResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->ReceiptRequired); - iso1CurrentDemandResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType) { - int grammarID = 331; - int done = 0; - - init_iso1ServiceType(iso1ServiceType); - - while(!done) { - switch(grammarID) { - case 331: - /* 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, &iso1ServiceType->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 = 332; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 332: - /* 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, &iso1ServiceType->ServiceName.charactersLen); - if (errn == 0) { - if (iso1ServiceType->ServiceName.charactersLen >= 2) { - iso1ServiceType->ServiceName.charactersLen = (uint16_t)(iso1ServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceType->ServiceName.charactersLen, iso1ServiceType->ServiceName.characters, iso1ServiceType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceType->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 = 333; - } 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); - iso1ServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 333: - /* 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); - iso1ServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 334: - /* 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, &iso1ServiceType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ServiceType->ServiceScope.charactersLen >= 2) { - iso1ServiceType->ServiceScope.charactersLen = (uint16_t)(iso1ServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceType->ServiceScope.charactersLen, iso1ServiceType->ServiceScope.characters, iso1ServiceType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceType->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 = 335; - } 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, &iso1ServiceType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 335: - /* 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, &iso1ServiceType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - int grammarID = 336; - int done = 0; - - init_iso1ServiceDiscoveryReqType(iso1ServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 336: - /* 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: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ServiceDiscoveryReqType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ServiceDiscoveryReqType->ServiceScope.charactersLen >= 2) { - iso1ServiceDiscoveryReqType->ServiceScope.charactersLen = (uint16_t)(iso1ServiceDiscoveryReqType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceDiscoveryReqType->ServiceScope.charactersLen, iso1ServiceDiscoveryReqType->ServiceScope.characters, iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceDiscoveryReqType->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) ? */ - 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: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso1ServiceDiscoveryReqType->ServiceCategory = (iso1serviceCategoryType) uint32; - iso1ServiceDiscoveryReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 337: - /* 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); - iso1ServiceDiscoveryReqType->ServiceCategory = (iso1serviceCategoryType) uint32; - iso1ServiceDiscoveryReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - int grammarID = 338; - int done = 0; - - init_iso1AC_EVSEChargeParameterType(iso1AC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 338: - /* 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_iso1AC_EVSEStatusType(stream, &iso1AC_EVSEChargeParameterType->AC_EVSEStatus); - grammarID = 339; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSENominalVoltage); - grammarID = 340; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSEMaxCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType) { - int grammarID = 313; - int done = 0; - - init_iso1CableCheckReqType(iso1CableCheckReqType); - - while(!done) { - switch(grammarID) { - case 313: - /* 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_iso1DC_EVStatusType(stream, &iso1CableCheckReqType->DC_EVStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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 decode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType) { - int grammarID = 341; - int done = 0; - - init_iso1SelectedServiceType(iso1SelectedServiceType); - - while(!done) { - switch(grammarID) { - case 341: - /* 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, &iso1SelectedServiceType->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 = 342; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), 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, &iso1SelectedServiceType->ParameterSetID); - iso1SelectedServiceType->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - int grammarID = 343; - int done = 0; - - init_iso1AC_EVSEStatusType(iso1AC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 343: - /* 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, &iso1AC_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 = 344; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 344: - /* 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); - iso1AC_EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 345; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD)] */ - 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, &iso1AC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType) { - int grammarID = 346; - int done = 0; - - init_iso1SalesTariffType(iso1SalesTariffType); - - while(!done) { - switch(grammarID) { - case 346: - /* 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, &iso1SalesTariffType->Id.charactersLen); - if (errn == 0) { - if (iso1SalesTariffType->Id.charactersLen >= 2) { - iso1SalesTariffType->Id.charactersLen = (uint16_t)(iso1SalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SalesTariffType->Id.charactersLen, iso1SalesTariffType->Id.characters, iso1SalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SalesTariffType->Id_isUsed = 1u; - grammarID = 347; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->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 = 348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 347: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->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 = 348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 348: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (iso1SalesTariffType->SalesTariffDescription.charactersLen >= 2) { - iso1SalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(iso1SalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SalesTariffType->SalesTariffDescription.charactersLen, iso1SalesTariffType->SalesTariffDescription.characters, iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SalesTariffType->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:MsgDataTypes}SalesTariffDescription) ? */ - 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: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso1SalesTariffType->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:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 350; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013: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)); - iso1SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso1SalesTariffType->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:MsgDataTypes}NumEPriceLevels) ? */ - 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: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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 decode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - int grammarID = 352; - int done = 0; - - init_iso1PaymentServiceSelectionReqType(iso1PaymentServiceSelectionReqType); - - while(!done) { - switch(grammarID) { - case 352: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1PaymentServiceSelectionReqType->SelectedPaymentOption = (iso1paymentOptionType) 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}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 353; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1SelectedServiceListType(stream, &iso1PaymentServiceSelectionReqType->SelectedServiceList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - int grammarID = 354; - int done = 0; - - init_iso1SignaturePropertiesType(iso1SignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 354: - /* 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, &iso1SignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertiesType->Id.charactersLen >= 2) { - iso1SignaturePropertiesType->Id.charactersLen = (uint16_t)(iso1SignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertiesType->Id.charactersLen, iso1SignaturePropertiesType->Id.characters, iso1SignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertiesType->Id_isUsed = 1u; - grammarID = 355; - break; - case 1: - if (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 355: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 356: - /* 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 (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType) { - int grammarID = 34; - int done = 0; - - init_iso1BodyBaseType(iso1BodyBaseType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - int grammarID = 357; - int done = 0; - - init_iso1SupportedEnergyTransferModeType(iso1SupportedEnergyTransferModeType); - - while(!done) { - switch(grammarID) { - case 357: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 358; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 358: - /* 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 (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 359; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 360; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 361; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 362; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - int grammarID = 34; - int done = 0; - - init_iso1ChargingStatusReqType(iso1ChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - int grammarID = 122; - int done = 0; - - init_iso1PaymentServiceSelectionResType(iso1PaymentServiceSelectionResType); - - while(!done) { - switch(grammarID) { - case 122: - /* 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); - iso1PaymentServiceSelectionResType->ResponseCode = (iso1responseCodeType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType) { - int grammarID = 312; - int done = 0; - - init_iso1DigestMethodType(iso1DigestMethodType); - - while(!done) { - switch(grammarID) { - case 312: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->Algorithm.charactersLen >= 2) { - iso1DigestMethodType->Algorithm.charactersLen = (uint16_t)(iso1DigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->Algorithm.charactersLen, iso1DigestMethodType->Algorithm.characters, iso1DigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 115; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->ANY.charactersLen >= 2) { - iso1DigestMethodType->ANY.charactersLen = (uint16_t)(iso1DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->ANY.charactersLen, iso1DigestMethodType->ANY.characters, iso1DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1DigestMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->ANY.charactersLen >= 2) { - iso1DigestMethodType->ANY.charactersLen = (uint16_t)(iso1DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->ANY.charactersLen, iso1DigestMethodType->ANY.characters, iso1DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1DigestMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - int grammarID = 363; - int done = 0; - - init_iso1SignaturePropertyType(iso1SignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 363: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Id.charactersLen >= 2) { - iso1SignaturePropertyType->Id.charactersLen = (uint16_t)(iso1SignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Id.charactersLen, iso1SignaturePropertyType->Id.characters, iso1SignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->Id_isUsed = 1u; - grammarID = 364; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Target.charactersLen >= 2) { - iso1SignaturePropertyType->Target.charactersLen = (uint16_t)(iso1SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Target.charactersLen, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 365; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 364: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Target.charactersLen >= 2) { - iso1SignaturePropertyType->Target.charactersLen = (uint16_t)(iso1SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Target.charactersLen, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 365; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 365: - /* 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 = 116; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 366; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 366: - /* 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 = 116; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 366; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType) { - int grammarID = 367; - int done = 0; - - init_iso1PGPDataType(iso1PGPDataType); - - while(!done) { - switch(grammarID) { - case 367: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyID.bytesLen) <= iso1PGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyID.bytesLen, iso1PGPDataType->PGPKeyID.bytes); - } - iso1PGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 368; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyPacket.bytesLen) <= iso1PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytesLen, iso1PGPDataType->PGPKeyPacket.bytes); - } - iso1PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 369; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 368: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyPacket.bytesLen) <= iso1PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytesLen, iso1PGPDataType->PGPKeyPacket.bytes); - } - iso1PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 369; - } 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 = 369; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 369: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -int decode_iso1EXISchemaInformedElementFragmentGrammar(bitstream_t* stream, struct iso1EXISchemaInformedElementFragmentGrammar* exiElementFrag) { - int grammarID = 370; - int done = 0; - - init_iso1EXISchemaInformedElementFragmentGrammar(exiElementFrag); - while(!done) { - switch(grammarID) { - case 370: - /* First(xsi:type)(xsi:nil)StartTag[ATTRIBUTE[STRING](Algorithm), ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), ATTRIBUTE[STRING](MimeType), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name), ATTRIBUTE[STRING](Target), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), ATTRIBUTE_GENERIC, 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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 4: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->Id.charactersLen); - if (errn == 0) { - if (exiElementFrag->Id.charactersLen >= 2) { - exiElementFrag->Id.charactersLen = (uint16_t)(exiElementFrag->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->Id.charactersLen, exiElementFrag->Id.characters, iso1exiElementFrag_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->Id_isUsed = 1u; - grammarID = 370; - break; - case 255: - done = 1; - grammarID = 4; - break; - case 256: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->CHARACTERS_GENERIC.charactersLen); - if (errn == 0) { - if (exiElementFrag->CHARACTERS_GENERIC.charactersLen >= 2) { - exiElementFrag->CHARACTERS_GENERIC.charactersLen = (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.charactersLen, exiElementFrag->CHARACTERS_GENERIC.characters, iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->CHARACTERS_GENERIC_isUsed = 1u; - grammarID = 371; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 371: - /* Element[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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 244: - done = 1; - grammarID = 4; - break; - case 245: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->CHARACTERS_GENERIC.charactersLen); - if (errn == 0) { - if (exiElementFrag->CHARACTERS_GENERIC.charactersLen >= 2) { - exiElementFrag->CHARACTERS_GENERIC.charactersLen = (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.charactersLen, exiElementFrag->CHARACTERS_GENERIC.characters, iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->CHARACTERS_GENERIC_isUsed = 1u; - grammarID = 371; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* 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] */ - init_iso1EXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso1AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso1AC_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_iso1AC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus); - exiDoc->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = decode_iso1AuthorizationReqType(stream, &exiDoc->AuthorizationReq); - exiDoc->AuthorizationReq_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = decode_iso1AuthorizationResType(stream, &exiDoc->AuthorizationRes); - exiDoc->AuthorizationRes_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = decode_iso1BodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_iso1CableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = decode_iso1CableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso1CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = decode_iso1CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = decode_iso1CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = decode_iso1CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = decode_iso1CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = decode_iso1ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = decode_iso1ChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = decode_iso1CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = decode_iso1CurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter); - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_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_iso1DC_EVStatusType(stream, &exiDoc->DC_EVStatus); - exiDoc->DC_EVStatus_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso1DSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso1DigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= iso1EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_iso1EVChargeParameterType(stream, &exiDoc->EVChargeParameter); - exiDoc->EVChargeParameter_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_iso1EVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter); - exiDoc->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_iso1EVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter); - exiDoc->EVSEChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = decode_iso1EVSEStatusType(stream, &exiDoc->EVSEStatus); - exiDoc->EVSEStatus_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_iso1EVStatusType(stream, &exiDoc->EVStatus); - exiDoc->EVStatus_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = decode_iso1EntryType(stream, &exiDoc->Entry); - exiDoc->Entry_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso1KeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, iso1EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso1KeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso1ManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = decode_iso1MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_iso1MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, iso1EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso1ObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso1PGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso1PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = decode_iso1PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = decode_iso1PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso1PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); - exiDoc->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso1PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); - exiDoc->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = decode_iso1PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = decode_iso1PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = decode_iso1PreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = decode_iso1PreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso1RSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso1ReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso1RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso1RetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = decode_iso1SAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_iso1SASchedulesType(stream, &exiDoc->SASchedules); - exiDoc->SASchedules_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso1SPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso1SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = decode_iso1ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = decode_iso1ServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso1ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso1ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = decode_iso1SessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = decode_iso1SessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = decode_iso1SessionStopReqType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_iso1SessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso1SignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso1SignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso1SignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso1SignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso1SignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso1SignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_iso1IntervalType(stream, &exiDoc->TimeInterval); - exiDoc->TimeInterval_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso1TransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso1TransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = decode_iso1AnonType_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_iso1WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = decode_iso1WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso1X509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* 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] */ - init_iso1EXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso1AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso1AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = decode_iso1AuthorizationReqType(stream, &exiFrag->AuthorizationReq); - exiFrag->AuthorizationReq_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = decode_iso1AuthorizationResType(stream, &exiFrag->AuthorizationRes); - exiFrag->AuthorizationRes_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ - errn = decode_iso1BodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = decode_iso1BodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_iso1CableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = decode_iso1CableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso1CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= iso1EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = decode_iso1CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = decode_iso1CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = decode_iso1CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = decode_iso1CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ChargeProgress = (iso1chargeProgressType) uint32; - exiFrag->ChargeProgress_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService) */ - errn = decode_iso1ChargeServiceType(stream, &exiFrag->ChargeService); - exiFrag->ChargeService_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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 24: - /* START_ELEMENT({urn:iso:15118:2:2013: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 25: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ - errn = decode_iso1ChargingProfileType(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_iso1PhysicalValueType(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) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->ChargingSession = (iso1chargingSessionType) uint32; - exiFrag->ChargingSession_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = decode_iso1ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = decode_iso1ChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ - errn = decode_iso1ConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ - errn = decode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey); - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ - errn = decode_iso1CostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = decode_iso1CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = decode_iso1CurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter); - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso1DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ - errn = decode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey); - exiFrag->DHpublickey_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso1DSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 48: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso1DigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= iso1EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EAmount); - exiFrag->EAmount_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= iso1EXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_iso1EVChargeParameterType(stream, &exiFrag->EVChargeParameter); - exiFrag->EVChargeParameter_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVEnergyCapacity); - exiFrag->EVEnergyCapacity_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest) */ - errn = decode_iso1PhysicalValueType(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 = (iso1DC_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_iso1PhysicalValueType(stream, &exiFrag->EVMaxCurrent); - exiFrag->EVMaxCurrent_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaxVoltage); - exiFrag->EVMaxVoltage_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMinCurrent); - exiFrag->EVMinCurrent_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_iso1EVPowerDeliveryParameterType(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_iso1EVSEChargeParameterType(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_iso1PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen); - if (errn == 0) { - if (exiFrag->EVSEID.charactersLen >= 2) { - exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, iso1EXIFragment_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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 = (iso1isolationLevelType) 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 = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit); - exiFrag->EVSEMinimumCurrentLimit_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit); - exiFrag->EVSEMinimumVoltageLimit_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSENominalVoltage); - exiFrag->EVSENominalVoltage_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSENotification = (iso1EVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_iso1PhysicalValueType(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; - } - } - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEProcessing = (iso1EVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = decode_iso1EVSEStatusType(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 = (iso1DC_EVSEStatusCodeType) uint32; - exiFrag->EVSEStatusCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp); - exiFrag->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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; - } - } - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_iso1EVStatusType(stream, &exiFrag->EVStatus); - exiFrag->EVStatus_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->EnergyTransferMode = (iso1EnergyTransferModeType) uint32; - exiFrag->EnergyTransferMode_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_iso1EntryType(stream, &exiFrag->Entry); - exiFrag->Entry_isUsed = 1u; - break; - case 101: - /* 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) <= iso1EXIFragment_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; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FaultCode = (iso1faultCodeType) uint32; - exiFrag->FaultCode_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) { - 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, iso1EXIFragment_FaultMsg_CHARACTERS_SIZE); - } 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; - } - } - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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; - } - } - break; - case 106: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= iso1EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen); - if (errn == 0) { - errn = (exiFrag->GenChallenge.bytesLen) <= iso1EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes); - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 108: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ - errn = decode_iso1MessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 110: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= iso1EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 111: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso1KeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, iso1EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso1KeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 115: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso1ManifestType(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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MaxEntriesSAScheduleTuple); - exiFrag->MaxEntriesSAScheduleTuple_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) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, iso1EXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ - errn = decode_iso1MeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ - /* 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; - } 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) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = decode_iso1MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_iso1MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, iso1EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 124: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= iso1EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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_iso1NotificationType(stream, &exiFrag->Notification); - exiFrag->Notification_isUsed = 1u; - break; - case 127: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 130: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso1ObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 131: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= iso1EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 132: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso1PGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 133: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= iso1EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 134: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= iso1EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ - errn = decode_iso1PMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso1PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ - errn = decode_iso1ParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ - errn = decode_iso1ParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = decode_iso1PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = decode_iso1PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (iso1paymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ - errn = decode_iso1PaymentOptionListType(stream, &exiFrag->PaymentOptionList); - exiFrag->PaymentOptionList_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso1PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); - exiFrag->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso1PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); - exiFrag->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= iso1EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = decode_iso1PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = decode_iso1PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = decode_iso1PreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = decode_iso1PreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = decode_iso1ProfileEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 153: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= iso1EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso1RSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 156: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 157: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso1ReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso1RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 159: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC); - exiFrag->RemainingTimeToBulkSoC_isUsed = 1u; - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC); - exiFrag->RemainingTimeToFullSoC_isUsed = 1u; - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) uint32; - exiFrag->RequestedEnergyTransferMode_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) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (iso1responseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 163: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso1RetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 164: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 165: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ - errn = decode_iso1X509IssuerSerialType(stream, &exiFrag->RootCertificateID); - exiFrag->RootCertificateID_isUsed = 1u; - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ - errn = decode_iso1CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain); - exiFrag->SAProvisioningCertificateChain_isUsed = 1u; - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = decode_iso1SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 168: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ - errn = decode_iso1SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 169: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 170: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_iso1SASchedulesType(stream, &exiFrag->SASchedules); - exiFrag->SASchedules_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso1SPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= iso1EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ - errn = decode_iso1SalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso1SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SalesTariffID = (uint8_t)(uint32 + 1); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 178: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= iso1EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (iso1paymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ - errn = decode_iso1SelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = decode_iso1SelectedServiceListType(stream, &exiFrag->SelectedServiceList); - exiFrag->SelectedServiceList_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ - errn = decode_iso1ServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = decode_iso1ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = decode_iso1ServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso1ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso1ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ - errn = decode_iso1ServiceListType(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) { - 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, iso1EXIFragment_ServiceName_CHARACTERS_SIZE); - } 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) */ - errn = decode_iso1ServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 194: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, iso1EXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, iso1EXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso1EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso1EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = decode_iso1SessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = decode_iso1SessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = decode_iso1SessionStopReqType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_iso1SessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= iso1EXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 203: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso1SignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 204: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso1SignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso1SignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 206: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso1SignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso1SignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso1SignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 209: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ - errn = decode_iso1SubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 210: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = decode_iso1SupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode); - exiFrag->SupportedEnergyTransferMode_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 212: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_iso1IntervalType(stream, &exiFrag->TimeInterval); - exiFrag->TimeInterval_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso1TransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso1TransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->Unit = (iso1unitSymbolType) uint32; - exiFrag->Unit_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) */ - errn = decode_iso1AnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = decode_iso1WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = decode_iso1WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= iso1EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 221: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= iso1EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 222: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso1X509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 223: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 224: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_iso1X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 225: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= iso1EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 226: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 227: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 228: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, iso1EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= iso1EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->amount); - exiFrag->amount_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]] */ - 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; - } 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) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (iso1costKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - errn = decode_iso1EXISchemaInformedElementFragmentGrammar(stream, &exiFrag->eMAID); - exiFrag->eMAID_isUsed = 1u; - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 238: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 239: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 241: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, iso1EXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (eventCode != 244) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.h b/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.h deleted file mode 100644 index 4895def..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_iso1_DATATYPES_DECODER_H -#define EXI_iso1_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "iso1EXIDatatypes.h" - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc); - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.c b/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.c deleted file mode 100644 index 59d8e5b..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.c +++ /dev/null @@ -1,14611 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso1EXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "iso1EXIDatatypes.h" -#include "ErrorCodes.h" - -// EXI_DEBUG_MODE is defined externally -extern int EXI_DEBUG_MODE; -#define DEBUG_PRINTF(x) do { if (EXI_DEBUG_MODE) printf x; } while (0) - -#ifndef EXI_iso1_DATATYPES_ENCODER_C -#define EXI_iso1_DATATYPES_ENCODER_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType); -static int encode_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType); -static int encode_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -static int encode_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType); -static int encode_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -static int encode_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType); -static int encode_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType); -static int encode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -static int encode_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -static int encode_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType); -static int encode_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType); -static int encode_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType); -static int encode_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -static int encode_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType); -static int encode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType); -static int encode_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -static int encode_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -static int encode_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType); -static int encode_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType); -static int encode_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType); -static int encode_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType); -static int encode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -static int encode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -static int encode_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType); -static int encode_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType); -static int encode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType); -static int encode_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType); -static int encode_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -static int encode_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -static int encode_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -static int encode_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType); -static int encode_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType); -static int encode_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType); -static int encode_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType); -static int encode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType); -static int encode_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType); -static int encode_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType); -static int encode_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -static int encode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType); -static int encode_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -static int encode_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType); -static int encode_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -static int encode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType); -static int encode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType); -static int encode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType); -static int encode_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -static int encode_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType); -static int encode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType); -static int encode_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -static int encode_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType); -static int encode_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType); -static int encode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType); -static int encode_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType); -static int encode_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -static int encode_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType); -static int encode_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType); -static int encode_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -static int encode_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType); -static int encode_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType); -static int encode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType); -static int encode_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType); -static int encode_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType); -static int encode_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType); -static int encode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType); -static int encode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType); -static int encode_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType); -static int encode_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -static int encode_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -static int encode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -static int encode_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -static int encode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -static int encode_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -static int encode_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType); -static int encode_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -static int encode_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType); -static int encode_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -static int encode_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType); -static int encode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -static int encode_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -static int encode_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType); -static int encode_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType); -static int encode_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType); -static int encode_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -static int encode_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType); -static int encode_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -static int encode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -static int encode_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -static int encode_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -static int encode_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType); -static int encode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType); -static int encode_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType); -static int encode_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -static int encode_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -static int encode_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType); -static int encode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType); -static int encode_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -static int encode_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType); -static int encode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -static int encode_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -static int encode_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType); -static int encode_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -static int encode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -static int encode_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -static int encode_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType); -static int encode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType); -static int encode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType); - - - /* 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_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID)] */ - if ( 1 == 1 ) { - DEBUG_PRINTF(("🔧 [SessionID] START pos=%d\n", (int)*stream->pos)); - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - DEBUG_PRINTF(("🔧 [SessionID] bytesLen=%d pos_before_len=%d\n", iso1MessageHeaderType->SessionID.bytesLen, (int)*stream->pos)); - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - DEBUG_PRINTF(("🔧 [SessionID] pos_before_bytes=%d\n", (int)*stream->pos)); - errn = encodeBytes(stream, iso1MessageHeaderType->SessionID.bytes, iso1MessageHeaderType->SessionID.bytesLen); - DEBUG_PRINTF(("🔧 [SessionID] pos_after_bytes=%d\n", (int)*stream->pos)); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - DEBUG_PRINTF(("🔧 [SessionID] END pos=%d\n", (int)*stream->pos)); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso1MessageHeaderType->Notification_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1NotificationType(stream, &iso1MessageHeaderType->Notification ); - } - grammarID = 2; - } else if ( iso1MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso1MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType) { - int grammarID = 5; - int done = 0; - - unsigned int iso1SignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( iso1SignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureType->Id.characters, iso1SignatureType->Id.charactersLen); - } - } - grammarID = 6; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo ); - } - grammarID = 7; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo ); - } - grammarID = 7; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &iso1SignatureType->SignatureValue ); - } - grammarID = 8; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( iso1SignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &iso1SignatureType->KeyInfo ); - } - grammarID = 9; - } else if (iso1SignatureType_Object_currArrayIndex < iso1SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &iso1SignatureType->Object.array [iso1SignatureType_Object_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (iso1SignatureType_Object_currArrayIndex < iso1SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &iso1SignatureType->Object.array [iso1SignatureType_Object_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - int grammarID = 10; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 10: - /* 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, iso1PowerDeliveryReqType->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* 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)(iso1PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* 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}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( iso1PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1ChargingProfileType(stream, &iso1PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 13; - } else if ( iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType) { - int grammarID = 14; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 14: - /* 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)(iso1ParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ParameterType->Name.characters, iso1ParameterType->Name.charactersLen); - } - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* 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 ( iso1ParameterType->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, iso1ParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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)(iso1ParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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, iso1ParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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, iso1ParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ParameterType->physicalValue ); - } - grammarID = 3; - } else if ( iso1ParameterType->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)(iso1ParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ParameterType->stringValue.characters, iso1ParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* 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)(iso1CertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateInstallationReqType->Id.characters, iso1CertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* 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)(iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateInstallationReqType->OEMProvisioningCert.bytes, iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* 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}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType) { - int grammarID = 19; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 19: - /* 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, iso1SessionSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* 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)(iso1SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SessionSetupResType->EVSEID.characters, iso1SessionSetupResType->EVSEID.charactersLen); - } - /* 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:MsgBody}EVSETimeStamp), END_ELEMENT] */ - if ( iso1SessionSetupResType->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, iso1SessionSetupResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - int grammarID = 22; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 22: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), END_ELEMENT] */ - if ( iso1EVChargeParameterType->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, iso1EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* 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)(iso1DiffieHellmanPublickeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DiffieHellmanPublickeyType->Id.characters, iso1DiffieHellmanPublickeyType->Id.charactersLen); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DiffieHellmanPublickeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DiffieHellmanPublickeyType->CONTENT.bytes, iso1DiffieHellmanPublickeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - int grammarID = 25; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 25: - /* 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, iso1ServiceDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PaymentOptionListType(stream, &iso1ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ChargeServiceType(stream, &iso1ServiceDiscoveryResType->ChargeService ); - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), END_ELEMENT] */ - if ( iso1ServiceDiscoveryResType->ServiceList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceListType(stream, &iso1ServiceDiscoveryResType->ServiceList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - int grammarID = 29; - int done = 0; - - unsigned int iso1ServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ - if (iso1ServiceParameterListType_ParameterSet_currArrayIndex < iso1ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array [iso1ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso1ServiceParameterListType_ParameterSet_currArrayIndex < iso1ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array [iso1ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 30; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType) { - int grammarID = 31; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if ( iso1CertificateChainType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CertificateChainType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateChainType->Id.characters, iso1CertificateChainType->Id.charactersLen); - } - } - grammarID = 32; - } 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)(iso1CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateChainType->Certificate.bytes, iso1CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* 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)(iso1CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateChainType->Certificate.bytes, iso1CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( iso1CertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SubCertificatesType(stream, &iso1CertificateChainType->SubCertificates ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_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_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - int grammarID = 35; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 35: - /* 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, iso1DC_EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* 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, iso1DC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 37; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - if ( iso1DC_EVSEStatusType->EVSEIsolationStatus_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, iso1DC_EVSEStatusType->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 38; - } 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, iso1DC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 38: - /* 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, iso1DC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType) { - int grammarID = 39; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 39: - /* 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, iso1PreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1PreChargeResType->DC_EVSEStatus ); - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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-16})', derivedBy='RESTRICTION'. */ -static int encode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType) { - int grammarID = 42; - int done = 0; - - unsigned int iso1ParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 42: - /* 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, iso1ParameterSetType->ParameterSetID); - /* 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}Parameter)] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 45; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 46; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 46: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 47; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 48; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 49; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 50; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 51; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 52; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 53; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 54; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 54: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 55; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 56; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 57; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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, iso1ServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - int grammarID = 60; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 60: - /* 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, iso1RelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 61; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), END_ELEMENT] */ - if ( iso1RelativeTimeIntervalType->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, iso1RelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType) { - int grammarID = 62; - int done = 0; - - unsigned int iso1SignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( iso1SignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignedInfoType->Id.characters, iso1SignedInfoType->Id.charactersLen); - } - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &iso1SignedInfoType->SignatureMethod ); - } - grammarID = 65; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 65: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso1SignedInfoType_Reference_currArrayIndex < iso1SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array [iso1SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso1SignedInfoType_Reference_currArrayIndex < iso1SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array [iso1SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType) { - int grammarID = 67; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 67: - /* 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)(iso1EMAIDType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1EMAIDType->Id.characters, iso1EMAIDType->Id.charactersLen); - } - } - grammarID = 68; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* 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)(iso1EMAIDType->CONTENT.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1EMAIDType->CONTENT.characters, iso1EMAIDType->CONTENT.charactersLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType) { - int grammarID = 69; - int done = 0; - - unsigned int iso1ServiceListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 69: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 70; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 71; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 72; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 73; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 75; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 76; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType) { - int grammarID = 77; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 77: - /* 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, iso1ProfileEntryType->ChargingProfileEntryStart); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 78; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ProfileEntryType->ChargingProfileEntryMaxPower ); - } - grammarID = 79; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), END_ELEMENT] */ - if ( iso1ProfileEntryType->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)(iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - int grammarID = 80; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso1AuthorizationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1AuthorizationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1AuthorizationReqType->Id.characters, iso1AuthorizationReqType->Id.charactersLen); - } - } - grammarID = 81; - } else if ( iso1AuthorizationReqType->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)(iso1AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytes, iso1AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso1AuthorizationReqType->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)(iso1AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytes, iso1AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType) { - int grammarID = 82; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID)] */ - 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)(iso1MeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1MeterInfoType->MeterID.characters, iso1MeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 83; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* 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 ( iso1MeterInfoType->MeterReading_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, iso1MeterInfoType->MeterReading); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 84; - } else if ( iso1MeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytes, iso1MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 85; - } else if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_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 = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* 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] */ - if ( iso1MeterInfoType->SigMeterReading_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)(iso1MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytes, iso1MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 85; - } else if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_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 = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso1MeterInfoType->TMeter_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, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType) { - int grammarID = 87; - int done = 0; - - unsigned int iso1ManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 87: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( iso1ManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ManifestType->Id.characters, iso1ManifestType->Id.charactersLen); - } - } - grammarID = 88; - } else if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - int grammarID = 89; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 89: - /* 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, iso1ChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* 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, iso1ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 91; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 91: - /* 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 ( iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleListType(stream, &iso1ChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 92; - } else if ( iso1ChargeParameterDiscoveryResType->SASchedules_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1SASchedulesType(stream, &iso1ChargeParameterDiscoveryResType->SASchedules ); - } - grammarID = 92; - } else if ( iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* 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 ( iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - int grammarID = 93; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 93: - /* 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, iso1PowerDeliveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* 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 ( iso1PowerDeliveryResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1PowerDeliveryResType->AC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1PowerDeliveryResType->DC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &iso1PowerDeliveryResType->EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - int grammarID = 95; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 95: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( iso1DC_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, iso1DC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumCurrentLimit ); - } - grammarID = 98; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumPowerLimit ); - } - grammarID = 99; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 100; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 100; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* 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 ( iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyCapacity ); - } - grammarID = 101; - } else if ( iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 102; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 101: - /* 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 ( iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 102; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - int grammarID = 104; - int done = 0; - - unsigned int iso1ConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ConsumptionCostType->startValue ); - } - grammarID = 105; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 106; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - int grammarID = 108; - int done = 0; - - unsigned int iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - if (iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array [iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 109; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array [iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - int grammarID = 110; - int done = 0; - - unsigned int iso1PaymentOptionListType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 110: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ - if (iso1PaymentOptionListType_PaymentOption_currArrayIndex < iso1PaymentOptionListType->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, iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 111; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (iso1PaymentOptionListType_PaymentOption_currArrayIndex < iso1PaymentOptionListType->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, iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType) { - int grammarID = 112; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 112: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Encoding.characters, iso1ObjectType->Encoding.charactersLen); - } - } - grammarID = 113; - } else if ( iso1ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Id.characters, iso1ObjectType->Id.charactersLen); - } - } - grammarID = 114; - } else if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Id.characters, iso1ObjectType->Id.charactersLen); - } - } - grammarID = 114; - } else if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 114: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - int grammarID = 117; - int done = 0; - - DEBUG_PRINTF(("🔬 [PhysicalValue] M=%d, U=%d, V=%d, pos=%d\n", - iso1PhysicalValueType->Multiplier, iso1PhysicalValueType->Unit, iso1PhysicalValueType->Value, (int)*stream->pos)); - - - while(!done) { - switch(grammarID) { - case 117: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier)] */ - if ( 1 == 1 ) { - DEBUG_PRINTF(("🔠[Multiplier] Before encoding, pos=%d\n", (int)*stream->pos)); - 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)(iso1PhysicalValueType->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - DEBUG_PRINTF(("🔠[Multiplier] After encoding, pos=%d\n", (int)*stream->pos)); - grammarID = 118; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 118: - /* 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, iso1PhysicalValueType->Unit); - /* 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: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, iso1PhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - DEBUG_PRINTF(("🔬 [PhysicalValue] Encoded, pos_after=%d\n", (int)*stream->pos)); - } - grammarID = 4; - } 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_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - int grammarID = 120; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 120: - /* 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)(iso1RSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1RSAKeyValueType->Modulus.bytes, iso1RSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 121; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 121: - /* 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)(iso1RSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1RSAKeyValueType->Exponent.bytes, iso1RSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType) { - int grammarID = 122; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 122: - /* 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, iso1SessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - int grammarID = 123; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 123: - /* 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)(iso1CertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateUpdateReqType->Id.characters, iso1CertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 124; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 125; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 125: - /* 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)(iso1CertificateUpdateReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateUpdateReqType->eMAID.characters, iso1CertificateUpdateReqType->eMAID.charactersLen); - } - /* 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}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType) { - int grammarID = 126; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( iso1SignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureValueType->Id.characters, iso1SignatureValueType->Id.charactersLen); - } - } - grammarID = 24; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SignatureValueType->CONTENT.bytes, iso1SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SignatureValueType->CONTENT.bytes, iso1SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - int grammarID = 127; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 127: - /* 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)(iso1PaymentDetailsReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1PaymentDetailsReqType->eMAID.characters, iso1PaymentDetailsReqType->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}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1PaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType) { - int grammarID = 129; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 129: - /* 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, iso1AuthorizationResType->ResponseCode); - /* 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: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, iso1AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - int grammarID = 131; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 131: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1DC_EVSEChargeParameterType->DC_EVSEStatus ); - } - grammarID = 132; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumCurrentLimit ); - } - grammarID = 133; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumPowerLimit ); - } - grammarID = 134; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumCurrentLimit ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumVoltageLimit ); - } - grammarID = 137; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 138; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType) { - int grammarID = 140; - int done = 0; - - unsigned int iso1SubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* 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:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - 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, iso1ChargingStatusResType->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}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)(iso1ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargingStatusResType->EVSEID.characters, iso1ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 146; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* 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)(iso1ChargingStatusResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 147; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 147: - /* 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 ( iso1ChargingStatusResType->EVSEMaxCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ChargingStatusResType->EVSEMaxCurrent ); - } - grammarID = 148; - } else if ( iso1ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo ); - } - grammarID = 149; - } else if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* 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 ( iso1ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo ); - } - grammarID = 149; - } else if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - int grammarID = 151; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 151: - /* 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 ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->P.bytes, iso1DSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 152; - } else if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->G.bytes, iso1DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Q.bytes, iso1DSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 155; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->G.bytes, iso1DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->J.bytes, iso1DSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 156; - } else if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Seed.bytes, iso1DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Seed.bytes, iso1DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 157: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->PgenCounter.bytes, iso1DSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - int grammarID = 158; - int done = 0; - - unsigned int iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 158: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - if (iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array [iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 159; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array [iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType) { - int grammarID = 160; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 160: - /* 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, iso1ChargeServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 161; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( iso1ChargeServiceType->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)(iso1ChargeServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargeServiceType->ServiceName.characters, iso1ChargeServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 162; - } 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, iso1ChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* 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, iso1ChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( iso1ChargeServiceType->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)(iso1ChargeServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargeServiceType->ServiceScope.characters, iso1ChargeServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 164; - } 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, iso1ChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 165; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* 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, iso1ChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 165; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SupportedEnergyTransferModeType(stream, &iso1ChargeServiceType->SupportedEnergyTransferMode ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - int grammarID = 166; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 166: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID)] */ - if ( iso1MeteringReceiptReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1MeteringReceiptReqType->Id.characters, iso1MeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 167; - } 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)(iso1MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytes, iso1MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 168; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* 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)(iso1MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytes, iso1MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 168; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( iso1MeteringReceiptReqType->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)(iso1MeteringReceiptReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - int grammarID = 170; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 170: - /* 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, iso1ServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 171: - /* 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, iso1ServiceDetailResType->ServiceID); - /* 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}ServiceParameterList), END_ELEMENT] */ - if ( iso1ServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceParameterListType(stream, &iso1ServiceDetailResType->ServiceParameterList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType) { - int grammarID = 173; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 173: - /* 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 ( iso1KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue ); - } - grammarID = 174; - } else if ( iso1KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue ); - } - grammarID = 174; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 174; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 175; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1KeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 174; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 175: - /* 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 ( iso1KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue ); - } - grammarID = 174; - } else if ( iso1KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue ); - } - grammarID = 174; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 174; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 175; - } 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-16})', derivedBy='RESTRICTION'. */ -static int encode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - int grammarID = 176; - int done = 0; - - unsigned int iso1SelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 176: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 177; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType) { - int grammarID = 192; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 192: - /* 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, iso1CableCheckResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 193; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CableCheckResType->DC_EVSEStatus ); - } - grammarID = 130; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 130: - /* 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, iso1CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - int grammarID = 194; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 194: - /* 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)(iso1X509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509IssuerSerialType->X509IssuerName.characters, iso1X509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 195; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* 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, iso1X509IssuerSerialType->X509SerialNumber); */ - errn = encodeIntegerBig(stream, iso1X509IssuerSerialType->X509SerialNumber.negative, iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE, iso1X509IssuerSerialType->X509SerialNumber.data, iso1X509IssuerSerialType->X509SerialNumber.len); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType) { - int grammarID = 196; - int done = 0; - int wcDone = 0; - - unsigned int iso1KeyInfoType_KeyName_currArrayIndex = 0; - unsigned int iso1KeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int iso1KeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int iso1KeyInfoType_X509Data_currArrayIndex = 0; - unsigned int iso1KeyInfoType_PGPData_currArrayIndex = 0; - unsigned int iso1KeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int iso1KeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 196: - /* 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 ( iso1KeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->Id.characters, iso1KeyInfoType->Id.charactersLen); - } - } - grammarID = 197; - } else if (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 198: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 198; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } 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_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType) { - int grammarID = 200; - int done = 0; - - unsigned int iso1TransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (iso1TransformsType_Transform_currArrayIndex < iso1TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &iso1TransformsType->Transform.array [iso1TransformsType_Transform_currArrayIndex++]); - } - grammarID = 201; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 201: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (iso1TransformsType_Transform_currArrayIndex < iso1TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &iso1TransformsType->Transform.array [iso1TransformsType_Transform_currArrayIndex++]); - } - grammarID = 201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - int grammarID = 202; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 202: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - if ( iso1ChargeParameterDiscoveryReqType->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, iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 203; - } 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, iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* 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, iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 204: - /* 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 ( iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->EVChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType) { - int grammarID = 205; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 205: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1PreChargeReqType->DC_EVStatus ); - } - grammarID = 206; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetVoltage ); - } - grammarID = 207; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType) { - int grammarID = 208; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 208: - /* 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, iso1EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 209; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* 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, iso1EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType) { - int grammarID = 210; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 210: - /* 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)(iso1SignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->Algorithm.characters, iso1SignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 211; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1SignatureMethodType->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, iso1SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 212; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 212: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1SignatureMethodType->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, iso1SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 212; - } 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_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType) { - int grammarID = 213; - int done = 0; - int wcDone = 0; - - unsigned int iso1X509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int iso1X509DataType_X509SKI_currArrayIndex = 0; - unsigned int iso1X509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int iso1X509DataType_X509Certificate_currArrayIndex = 0; - unsigned int iso1X509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 213: - /* 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 (iso1X509DataType_X509IssuerSerial_currArrayIndex < iso1X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array [iso1X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 214; - } else if (iso1X509DataType_X509SKI_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytes, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen); - iso1X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509SubjectName_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].characters, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso1X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509Certificate_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytes, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso1X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509CRL_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytes, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen); - iso1X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* 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 (iso1X509DataType_X509IssuerSerial_currArrayIndex < iso1X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array [iso1X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 214; - } else if (iso1X509DataType_X509SKI_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytes, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen); - iso1X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509SubjectName_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].characters, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso1X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509Certificate_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytes, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso1X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509CRL_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytes, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen); - iso1X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 214; - } else if ( iso1X509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType) { - int grammarID = 215; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 215: - /* 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, iso1NotificationType->FaultCode); - /* 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:MsgDataTypes}FaultMsg), END_ELEMENT] */ - if ( iso1NotificationType->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)(iso1NotificationType->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1NotificationType->FaultMsg.characters, iso1NotificationType->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType) { - int grammarID = 217; - int done = 0; - - unsigned int iso1SAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 217: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 220: - /* 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 ( iso1BodyType->AuthorizationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &iso1BodyType->AuthorizationReq ); - } - grammarID = 3; - } else if ( iso1BodyType->AuthorizationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &iso1BodyType->AuthorizationRes ); - } - grammarID = 3; - } else if ( iso1BodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &iso1BodyType->BodyElement ); - } - grammarID = 3; - } else if ( iso1BodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &iso1BodyType->CableCheckReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &iso1BodyType->CableCheckRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &iso1BodyType->CertificateInstallationReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &iso1BodyType->CertificateInstallationRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &iso1BodyType->CertificateUpdateReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &iso1BodyType->CertificateUpdateRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &iso1BodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &iso1BodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &iso1BodyType->ChargingStatusReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &iso1BodyType->ChargingStatusRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); - } - grammarID = 3; - } else if ( iso1BodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &iso1BodyType->MeteringReceiptReq ); - } - grammarID = 3; - } else if ( iso1BodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &iso1BodyType->MeteringReceiptRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &iso1BodyType->PaymentDetailsReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &iso1BodyType->PaymentDetailsRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentServiceSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &iso1BodyType->PaymentServiceSelectionReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentServiceSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &iso1BodyType->PaymentServiceSelectionRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &iso1BodyType->PowerDeliveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &iso1BodyType->PowerDeliveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &iso1BodyType->PreChargeReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &iso1BodyType->PreChargeRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &iso1BodyType->ServiceDetailReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &iso1BodyType->ServiceDetailRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &iso1BodyType->ServiceDiscoveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &iso1BodyType->ServiceDiscoveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &iso1BodyType->SessionSetupReq ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &iso1BodyType->SessionSetupRes ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &iso1BodyType->SessionStopReq ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &iso1BodyType->SessionStopRes ); - } - grammarID = 3; - } else if ( iso1BodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &iso1BodyType->WeldingDetectionReq ); - } - grammarID = 3; - } else if ( iso1BodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &iso1BodyType->WeldingDetectionRes ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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-24})', derivedBy='RESTRICTION'. */ -static int encode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType) { - int grammarID = 221; - int done = 0; - - unsigned int iso1ChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 221: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType) { - int grammarID = 245; - int done = 0; - int wcDone = 0; - - unsigned int iso1TransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 245: - /* 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)(iso1TransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->Algorithm.characters, iso1TransformType->Algorithm.charactersLen); - } - } - grammarID = 246; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso1TransformType_XPath_currArrayIndex < iso1TransformType->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)(iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].characters, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen); - iso1TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 247; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 247; - } else if ( iso1TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->ANY.characters, iso1TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 247; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 247: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso1TransformType_XPath_currArrayIndex < iso1TransformType->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)(iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].characters, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen); - iso1TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 247; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 247; - } else if ( iso1TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->ANY.characters, iso1TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 247; - } 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_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - int grammarID = 248; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 248: - /* 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)(iso1SAScheduleTupleType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleType(stream, &iso1SAScheduleTupleType->PMaxSchedule ); - } - grammarID = 250; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff), END_ELEMENT] */ - if ( iso1SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffType(stream, &iso1SAScheduleTupleType->SalesTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - int grammarID = 251; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( iso1AC_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, iso1AC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 252; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount ); - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount ); - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxVoltage ); - } - grammarID = 254; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxCurrent ); - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMinCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 256: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header ); - } - grammarID = 257; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - int grammarID = 258; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 258: - /* 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, iso1PaymentDetailsResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 259; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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)(iso1PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PaymentDetailsResType->GenChallenge.bytes, iso1PaymentDetailsResType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 260; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, iso1PaymentDetailsResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* 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)(iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ContractSignatureEncryptedPrivateKeyType->Id.characters, iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - int grammarID = 261; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 261: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1PMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 262; - } else if ( iso1PMaxScheduleEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1PMaxScheduleEntryType->TimeInterval ); - } - grammarID = 262; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PMaxScheduleEntryType->PMax ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType) { - int grammarID = 263; - int done = 0; - int wcDone = 0; - - unsigned int iso1SPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 265; - } else if ( iso1SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 265: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else if ( iso1SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - int grammarID = 93; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 93: - /* 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, iso1MeteringReceiptResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* 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 ( iso1MeteringReceiptResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1MeteringReceiptResType->AC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1MeteringReceiptResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1MeteringReceiptResType->DC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1MeteringReceiptResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &iso1MeteringReceiptResType->EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType) { - int grammarID = 266; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 266: - /* 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, iso1SessionStopReqType->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - int grammarID = 39; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 39: - /* 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, iso1WeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1WeldingDetectionResType->DC_EVSEStatus ); - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType) { - int grammarID = 267; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 267: - /* 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 ( iso1ReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Id.characters, iso1ReferenceType->Id.charactersLen); - } - } - grammarID = 268; - } else if ( iso1ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Type.characters, iso1ReferenceType->Type.charactersLen); - } - } - grammarID = 269; - } else if ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 268: - /* 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 ( iso1ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Type.characters, iso1ReferenceType->Type.charactersLen); - } - } - grammarID = 269; - } else if ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* 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 ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 270: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* 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)(iso1ReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1ReferenceType->DigestValue.bytes, iso1ReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - int done = 0; - - if (EXI_DEBUG_MODE) printf("ðŸ [DEBUG CurrentDemandReq] Starting encoding, stream pos: %zu\n", *stream->pos); - - while(!done) { - if (EXI_DEBUG_MODE) printf("🔠[DEBUG CurrentDemandReq] Grammar case: %d, stream pos: %zu\n", grammarID, *stream->pos); - switch(grammarID) { - case 273: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus ); - } - grammarID = 274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 275; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* 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 ( iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - if (EXI_DEBUG_MODE) printf("📠Grammar 275: choice 0 (EVMaximumVoltageLimit), 3-bit=0\n"); - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit ); - } - grammarID = 276; - } else if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - if (EXI_DEBUG_MODE) printf("📠Grammar 275: choice 1 (EVMaximumCurrentLimit), 3-bit=1\n"); - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - if (EXI_DEBUG_MODE) printf("📠Grammar 275: choice 2 (EVMaximumPowerLimit), 3-bit=2\n"); - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - if (EXI_DEBUG_MODE) printf("📠Grammar 275: choice 3 (BulkChargingComplete), 3-bit=3\n"); - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } else if ( 1 == 1 ) { - if (EXI_DEBUG_MODE) printf("📠Grammar 275: choice 4 (ChargingComplete), 3-bit=4\n"); - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* 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 ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* 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 ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 279: - /* 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* 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 ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - } - grammarID = 281; - } else if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 282; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 282; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - int grammarID = 283; - int done = 0; - - unsigned int iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1SalesTariffEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1SalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 284; - } else if ( iso1SalesTariffEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1SalesTariffEntryType->TimeInterval ); - } - grammarID = 284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if ( iso1SalesTariffEntryType->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)(iso1SalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 285; - } else if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType) { - int grammarID = 288; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1EntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1EntryType->RelativeTimeInterval ); - } - grammarID = 3; - } else if ( iso1EntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1EntryType->TimeInterval ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - int grammarID = 289; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 289: - /* 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)(iso1SessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SessionSetupReqType->EVCCID.bytes, iso1SessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType) { - int grammarID = 290; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 290: - /* 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, iso1CostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 291; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 291: - /* 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, iso1CostType->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 292; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), END_ELEMENT] */ - if ( iso1CostType->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)(iso1CostType->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - int grammarID = 293; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 293: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVPowerDeliveryParameterType->DC_EVStatus ); - } - grammarID = 294; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - if ( iso1DC_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, iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 295; - } 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, iso1DC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 295: - /* 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, iso1DC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - int grammarID = 296; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 296: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->Type.characters, iso1RetrievalMethodType->Type.charactersLen); - } - } - grammarID = 297; - } else if ( iso1RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 298; - } else if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 297: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 298; - } else if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 298: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - int grammarID = 299; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 299: - /* 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, iso1CertificateUpdateResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 300; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 301; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 302; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 303; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateUpdateResType->DHpublickey ); - } - grammarID = 304; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1EMAIDType(stream, &iso1CertificateUpdateResType->eMAID ); - } - grammarID = 305; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter), END_ELEMENT] */ - if ( iso1CertificateUpdateResType->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, iso1CertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - int grammarID = 306; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 306: - /* 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, iso1CertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 307; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 308; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 309; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateInstallationResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 310; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateInstallationResType->DHpublickey ); - } - grammarID = 311; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1EMAIDType(stream, &iso1CertificateInstallationResType->eMAID ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - int grammarID = 312; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 312: - /* 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)(iso1CanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->Algorithm.characters, iso1CanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - int grammarID = 313; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1WeldingDetectionReqType->DC_EVStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - int grammarID = 314; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 314: - /* 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, iso1DC_EVStatusType->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 315; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 315: - /* 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, iso1DC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 316; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 316: - /* 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)(iso1DC_EVStatusType->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 317: - /* 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, iso1CurrentDemandResType->ResponseCode); - /* 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:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus ); - } - grammarID = 319; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 320; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 320: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 321; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, iso1CurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 322; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 322: - /* 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, iso1CurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 323; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 323: - /* 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, iso1CurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 324; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 324: - /* 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 ( iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit ); - } - grammarID = 325; - } else if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 325: - /* 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 ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 327: - /* 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 328: - /* 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)(iso1CurrentDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 329; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso1CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo ); - } - grammarID = 330; - } else if ( iso1CurrentDemandResType->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, iso1CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso1CurrentDemandResType->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, iso1CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType) { - int grammarID = 331; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 331: - /* 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, iso1ServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 332; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( iso1ServiceType->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)(iso1ServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceType->ServiceName.characters, iso1ServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 333; - } 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, iso1ServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 334; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 333: - /* 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, iso1ServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 334; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( iso1ServiceType->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)(iso1ServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceType->ServiceScope.characters, iso1ServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 335; - } 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, iso1ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 335: - /* 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, iso1ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - int grammarID = 336; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 336: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( iso1ServiceDiscoveryReqType->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)(iso1ServiceDiscoveryReqType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceDiscoveryReqType->ServiceScope.characters, iso1ServiceDiscoveryReqType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 337; - } else if ( iso1ServiceDiscoveryReqType->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, iso1ServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( iso1ServiceDiscoveryReqType->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, iso1ServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - int grammarID = 338; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 338: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1AC_EVSEChargeParameterType->AC_EVSEStatus ); - } - grammarID = 339; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSENominalVoltage ); - } - grammarID = 340; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSEMaxCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType) { - int grammarID = 313; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1CableCheckReqType->DC_EVStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType) { - int grammarID = 341; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 341: - /* 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, iso1SelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 342; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - if ( iso1SelectedServiceType->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, iso1SelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - int grammarID = 343; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 343: - /* 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, iso1AC_EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 344; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 344: - /* 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, iso1AC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 345; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 345: - /* 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, iso1AC_EVSEStatusType->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType) { - int grammarID = 346; - int done = 0; - - unsigned int iso1SalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 346: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - if ( iso1SalesTariffType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SalesTariffType->Id.characters, iso1SalesTariffType->Id.charactersLen); - } - } - grammarID = 347; - } 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)(iso1SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 348; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 347: - /* 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)(iso1SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 348; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 348: - /* 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)] */ - if ( iso1SalesTariffType->SalesTariffDescription_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)(iso1SalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SalesTariffType->SalesTariffDescription.characters, iso1SalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 349; - } else if ( iso1SalesTariffType->NumEPriceLevels_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso1SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 350; - } else if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - if ( iso1SalesTariffType->NumEPriceLevels_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)(iso1SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 350; - } else if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - int grammarID = 352; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 352: - /* 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, iso1PaymentServiceSelectionReqType->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 353; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceListType(stream, &iso1PaymentServiceSelectionReqType->SelectedServiceList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - int grammarID = 354; - int done = 0; - - unsigned int iso1SignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 354: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( iso1SignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertiesType->Id.characters, iso1SignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 355; - } else if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 355: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 356: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - int grammarID = 357; - int done = 0; - - unsigned int iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 357: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 358; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - int grammarID = 122; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 122: - /* 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, iso1PaymentServiceSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType) { - int grammarID = 312; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 312: - /* 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)(iso1DigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->Algorithm.characters, iso1DigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->ANY.characters, iso1DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->ANY.characters, iso1DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - int grammarID = 363; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 363: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( iso1SignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Id.characters, iso1SignaturePropertyType->Id.charactersLen); - } - } - grammarID = 364; - } 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)(iso1SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 365; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 364: - /* 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)(iso1SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 365; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 365: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 366; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 366: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 366; - } 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_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType) { - int grammarID = 367; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 367: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyID.bytes, iso1PGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 368; - } else if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytes, iso1PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 369; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 368: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytes, iso1PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 369; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 369; - } else if ( iso1PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 369: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 369; - } else if ( iso1PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -int encode_iso1EXISchemaInformedElementFragmentGrammar(bitstream_t* stream, struct iso1EXISchemaInformedElementFragmentGrammar* exiElementFrag) { - int grammarID = 370; - int done = 0; - - while(!done) { - switch(grammarID) { - case 370: - /* First(xsi:type)(xsi:nil)StartTag[ATTRIBUTE[STRING](Algorithm), ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), ATTRIBUTE[STRING](MimeType), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name), ATTRIBUTE[STRING](Target), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), ATTRIBUTE_GENERIC, 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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( exiElementFrag->Id_isUsed == 1u ) { - exiElementFrag->Id_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 9, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->Id.characters, exiElementFrag->Id.charactersLen); - } - } - grammarID = 370; - } else if (1==0) { - errn = encodeNBitUnsignedInteger(stream, 9, 255); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( exiElementFrag->CHARACTERS_GENERIC_isUsed == 1u ) { - exiElementFrag->CHARACTERS_GENERIC_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 9, 256); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.characters, exiElementFrag->CHARACTERS_GENERIC.charactersLen); - } - } - grammarID = 371; - } else { - errn = encodeNBitUnsignedInteger(stream, 9, 255); /* EE */ - done = 1; - } - break; - case 371: - /* Element[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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = encodeNBitUnsignedInteger(stream, 8, 244); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( exiElementFrag->CHARACTERS_GENERIC_isUsed == 1u ) { - exiElementFrag->CHARACTERS_GENERIC_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 8, 245); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.characters, exiElementFrag->CHARACTERS_GENERIC.charactersLen); - } - } - grammarID = 371; - } else { - errn = encodeNBitUnsignedInteger(stream, 8, 244); /* EE */ - done = 1; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* 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) */ - errn = encodeNBitUnsignedInteger(stream, 7, 0); - if(errn == 0) { - errn = encode_iso1AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 1); - if(errn == 0) { - errn = encode_iso1AC_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); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus ); - } - } else if ( exiDoc->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 3); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &exiDoc->AuthorizationReq ); - } - } else if ( exiDoc->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 4); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &exiDoc->AuthorizationRes ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 6); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 7); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &exiDoc->ChargingStatusRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &exiDoc->CurrentDemandRes ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_iso1DC_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_iso1DC_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_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1EVChargeParameterType(stream, &exiDoc->EVChargeParameter ); - } - } else if ( exiDoc->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 28); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter ); - } - } else if ( exiDoc->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter ); - } - } else if ( exiDoc->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 30); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &exiDoc->EVSEStatus ); - } - } else if ( exiDoc->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_iso1EVStatusType(stream, &exiDoc->EVStatus ); - } - } else if ( exiDoc->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_iso1EntryType(stream, &exiDoc->Entry ); - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 35); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 36); - if(errn == 0) { - errn = encode_iso1ManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 37); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq ); - } - } else if ( exiDoc->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 48); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 49); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 53); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_iso1SAScheduleListType(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_iso1SASchedulesType(stream, &exiDoc->SASchedules ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 57); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 58); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_iso1SignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &exiDoc->TimeInterval ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso1AnonType_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); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* 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) { - errn = encode_iso1AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 1); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 3); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 4); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &exiFrag->AuthorizationReq ); - } - } else if ( exiFrag->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 5); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &exiFrag->AuthorizationRes ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 8, 6); - if(errn == 0) { - errn = encode_iso1BodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 8, 7); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 8); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 9); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 10); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* 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); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 12); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 13); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 14); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 15); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 16); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 17); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 18); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 19); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 20); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeProgress_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ - errn = encodeNBitUnsignedInteger(stream, 8, 21); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ChargeProgress); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1ChargeServiceType(stream, &exiFrag->ChargeService ); - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 23); - if(errn == 0) { - /* 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->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 24); - if(errn == 0) { - /* 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->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 8, 25); - if(errn == 0) { - errn = encode_iso1ChargingProfileType(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_iso1PhysicalValueType(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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 30); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 31); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &exiFrag->ChargingStatusRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 32); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 33); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 34); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey ); - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 35); - if(errn == 0) { - errn = encode_iso1CostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 36); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 37); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &exiFrag->CurrentDemandRes ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 38); - if(errn == 0) { - errn = encode_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 40); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 41); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 42); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 43); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 44); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DHpublickey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 45); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 46); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ - errn = encodeNBitUnsignedInteger(stream, 8, 47); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 48); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 49); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EAmount ); - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ - errn = encodeNBitUnsignedInteger(stream, 8, 51); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 52); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - 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_iso1EVChargeParameterType(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_iso1PhysicalValueType(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_iso1PhysicalValueType(stream, &exiFrag->EVEnergyRequest ); - } - } else if ( exiFrag->EVErrorCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVErrorCode); - /* 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); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(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_iso1PhysicalValueType(stream, &exiFrag->EVMaxVoltage ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 59); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 60); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 61); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 62); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 63); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 64); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->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_iso1PhysicalValueType(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_iso1EVPowerDeliveryParameterType(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]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->EVRESSSOC - 0)); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVReady); - /* 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_iso1EVSEChargeParameterType(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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 8, 71); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 8, 72); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 73); - 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->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->EVSEID.characters, exiFrag->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 74); - 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); - } - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 75); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 76); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 77); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 78); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 79); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 80); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 81); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 82); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 83); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit ); - } - } else if ( exiFrag->EVSEMinimumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 84); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit ); - } - } else if ( exiFrag->EVSENominalVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 85); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSENominalVoltage ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 86); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 87); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(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); - } - } - } 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_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 90); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 8, 91); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 92); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSEStatusCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 93); - 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); - } - } - } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 94); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1EVStatusType(stream, &exiFrag->EVStatus ); - } - } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 97); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 98); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 99); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EnergyTransferMode); - /* 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); - if(errn == 0) { - errn = encode_iso1EntryType(stream, &exiFrag->Entry ); - } - } 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FaultCode); - /* 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); - 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); - } - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 8, 106); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 107); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->GenChallenge.bytes, exiFrag->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 8, 108); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 8, 109); - if(errn == 0) { - errn = encode_iso1MessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->J_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - errn = encodeNBitUnsignedInteger(stream, 8, 110); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 111); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 112); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 113); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 8, 114); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 115); - if(errn == 0) { - errn = encode_iso1ManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MaxEntriesSAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 116); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->MaxEntriesSAScheduleTuple); - /* 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); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 118); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 119); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger64(stream, exiFrag->MeterReading); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 121); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 122); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 123); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 124); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - 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_iso1NotificationType(stream, &exiFrag->Notification ); - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 8, 127); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 8, 128); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 8, 129); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 8, 130); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 8, 131); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 132); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 133); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 8, 134); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 8, 135); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->PMax ); - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 8, 136); - if(errn == 0) { - errn = encode_iso1PMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 137); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 138); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 8, 139); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 140); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ParameterSetID); - /* 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); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 142); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 143); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptionList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 144); - if(errn == 0) { - errn = encode_iso1PaymentOptionListType(stream, &exiFrag->PaymentOptionList ); - } - } else if ( exiFrag->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 145); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq ); - } - } else if ( exiFrag->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 146); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 147); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 148); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 149); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 150); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 151); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 152); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 8, 153); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 8, 156); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 8, 157); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 158); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(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_iso1PhysicalValueType(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_iso1PhysicalValueType(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]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ResponseCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 162); - 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); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 164); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 165); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &exiFrag->RootCertificateID ); - } - } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 166); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &exiFrag->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_iso1SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 168); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 169); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 170); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1SASchedulesType(stream, &exiFrag->SASchedules ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 172); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 173); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 8, 174); - if(errn == 0) { - errn = encode_iso1SalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 8, 175); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 176); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 177); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 178); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 179); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 180); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 181); - if(errn == 0) { - errn = encode_iso1SelectedServiceListType(stream, &exiFrag->SelectedServiceList ); - } - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 8, 182); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 183); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 184); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 185); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 186); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 187); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 188); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 189); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 190); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1ServiceListType(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); - if(errn == 0) { - errn = encode_iso1ServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 194); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 195); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 196); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 197); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 198); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 199); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 200); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 201); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 202); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 8, 203); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 204); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 8, 205); - if(errn == 0) { - errn = encode_iso1SignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 8, 206); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 207); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 208); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 8, 209); - if(errn == 0) { - errn = encode_iso1SubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->SupportedEnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 210); - if(errn == 0) { - errn = encode_iso1SupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 211); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &exiFrag->TimeInterval ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 8, 213); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 8, 214); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->Unit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 215); - 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); - } - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 8, 216); - if(errn == 0) { - errn = encode_iso1AnonType_V2G_Message(stream, &exiFrag->V2G_Message ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 8, 217); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 219); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 8, 220); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 221); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 8, 222); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 223); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 8, 224); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 8, 225); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 8, 226); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 227); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 8, 229); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->amount); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 232); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 233); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 8, 234); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 8, 235); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->eMAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 236); - if(errn == 0) { - errn = encode_iso1EXISchemaInformedElementFragmentGrammar(stream, &exiFrag->eMAID); - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 237); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 238); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 239); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 8, 240); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 241); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->startValue ); - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 242); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 8, 244); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.h b/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.h deleted file mode 100644 index ad0d59f..0000000 --- a/Port/vc2022/src/iso1/iso1EXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_iso1_DATATYPES_ENCODER_H -#define EXI_iso1_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "iso1EXIDatatypes.h" - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc); - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypes.c b/Port/vc2022/src/iso2/iso2EXIDatatypes.c deleted file mode 100644 index 06d30f5..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypes.c +++ /dev/null @@ -1,1496 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "iso2EXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_iso2_DATATYPES_C -#define EXI_iso2_DATATYPES_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - - -void init_iso2EXIDocument(struct iso2EXIDocument* 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; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - 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->PairingRes_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->ConnectChargingDeviceRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PaymentServiceSelectionReq_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PaymentServiceSelectionRes_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->BodyElement_isUsed = 0u; - exiDoc->AC_BidirectionalControlReq_isUsed = 0u; - exiDoc->AC_BidirectionalControlRes_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_BidirectionalControlRes_isUsed = 0u; - exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 0u; - exiDoc->MV_EVSEFinePositioningParameters_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_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->EVSEFinePositioningSetupParameters_isUsed = 0u; - exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 0u; - exiDoc->DC_EVChargeParameter_isUsed = 0u; - exiDoc->DC_EVSEChargeParameter_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->LFA_EVSEFinePositioningParameters_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->Generic_EVFinePositioningParameters_isUsed = 0u; - exiDoc->DC_EVBidirectionalParameter_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -void init_iso2EXIFragment(struct iso2EXIFragment* exiFrag) { - 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->ParkingMethod_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->Distance_isUsed = 0u; - exiFrag->ParameterSet_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->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->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->LFA_EVSEFinePositioningParameters_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->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->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->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->MeterReadingDischarged_isUsed = 0u; - exiFrag->MeasurementDataList_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->SensorPosition_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->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_ISO2_CODEC_FRAGMENT */ - -void init_iso2RetrievalMethodType(struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - iso2RetrievalMethodType->URI_isUsed = 0u; - iso2RetrievalMethodType->Type_isUsed = 0u; - iso2RetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_iso2AuthorizationResType(struct iso2AuthorizationResType* iso2AuthorizationResType) { - iso2AuthorizationResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2MV_EVSEFinePositioningSetupParametersType(struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 0u; - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 0u; -} - -void init_iso2X509DataType(struct iso2X509DataType* iso2X509DataType) { - iso2X509DataType->X509IssuerSerial.arrayLen = 0u; - iso2X509DataType->X509SKI.arrayLen = 0u; - iso2X509DataType->X509SubjectName.arrayLen = 0u; - iso2X509DataType->X509Certificate.arrayLen = 0u; - iso2X509DataType->X509CRL.arrayLen = 0u; - iso2X509DataType->ANY_isUsed = 0u; -} - -void init_iso2RSAKeyValueType(struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - (void)iso2RSAKeyValueType; /* avoid unused warning */ -} - -void init_iso2DC_BidirectionalControlResType(struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 0u; - iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 0u; - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2CostType(struct iso2CostType* iso2CostType) { - (void)iso2CostType; /* avoid unused warning */ -} - -void init_iso2ChargingStatusResType(struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - iso2ChargingStatusResType->EVSEStatus_isUsed = 0u; - iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 0u; - iso2ChargingStatusResType->MeterInfo_isUsed = 0u; - iso2ChargingStatusResType->ReceiptRequired_isUsed = 0u; - iso2ChargingStatusResType->EVSETargetPower_isUsed = 0u; -} - -void init_iso2MeterInfoType(struct iso2MeterInfoType* iso2MeterInfoType) { - iso2MeterInfoType->MeterReadingCharged_isUsed = 0u; - iso2MeterInfoType->MeterReadingDischarged_isUsed = 0u; - iso2MeterInfoType->SigMeterReading_isUsed = 0u; - iso2MeterInfoType->MeterStatus_isUsed = 0u; - iso2MeterInfoType->TMeter_isUsed = 0u; -} - -void init_iso2AC_EVChargeParameterType(struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2AC_EVSEBidirectionalParameterType(struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - (void)iso2AC_EVSEBidirectionalParameterType; /* avoid unused warning */ -} - -void init_iso2VehicleCheckOutResType(struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - iso2VehicleCheckOutResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2MagneticVectorListType(struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - iso2MagneticVectorListType->MagneticVector.arrayLen = 0u; -} - -void init_iso2CableCheckResType(struct iso2CableCheckResType* iso2CableCheckResType) { - iso2CableCheckResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2ServiceDiscoveryReqType(struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 0u; -} - -void init_iso2ServiceType(struct iso2ServiceType* iso2ServiceType) { - (void)iso2ServiceType; /* avoid unused warning */ -} - -void init_iso2ServiceParameterListType(struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - iso2ServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_iso2PMaxScheduleType(struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso2SignaturePropertiesType(struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - iso2SignaturePropertiesType->Id_isUsed = 0u; - iso2SignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_iso2PMaxScheduleEntryType(struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - iso2PMaxScheduleEntryType->PMax.arrayLen = 0u; -} - -void init_iso2SignatureType(struct iso2SignatureType* iso2SignatureType) { - iso2SignatureType->Id_isUsed = 0u; - iso2SignatureType->KeyInfo_isUsed = 0u; - iso2SignatureType->Object.arrayLen = 0u; -} - -void init_iso2VehicleCheckInReqType(struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - iso2VehicleCheckInReqType->ParkingMethod_isUsed = 0u; -} - -void init_iso2ConnectChargingDeviceResType(struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2WeldingDetectionResType(struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - iso2WeldingDetectionResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionStopResType(struct iso2SessionStopResType* iso2SessionStopResType) { - iso2SessionStopResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2VehicleCheckInResType(struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - iso2VehicleCheckInResType->EVSEStatus_isUsed = 0u; - iso2VehicleCheckInResType->TargetOffset_isUsed = 0u; -} - -void init_iso2ServiceListType(struct iso2ServiceListType* iso2ServiceListType) { - iso2ServiceListType->Service.arrayLen = 0u; -} - -void init_iso2CertificateUpdateResType(struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - iso2CertificateUpdateResType->EVSEStatus_isUsed = 0u; - iso2CertificateUpdateResType->RetryCounter_isUsed = 0u; -} - -void init_iso2FinePositioningSetupResType(struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - iso2FinePositioningSetupResType->EVSEStatus_isUsed = 0u; - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 0u; -} - -void init_iso2AC_EVBidirectionalParameterType(struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2DC_BidirectionalControlReqType(struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; -} - -void init_iso2CertificateUpdateReqType(struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - (void)iso2CertificateUpdateReqType; /* avoid unused warning */ -} - -void init_iso2ConsumptionCostType(struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - iso2ConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_iso2SAScheduleListType(struct iso2SAScheduleListType* iso2SAScheduleListType) { - iso2SAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_iso2MagneticVectorSetupType(struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - (void)iso2MagneticVectorSetupType; /* avoid unused warning */ -} - -void init_iso2LFA_EVSEFinePositioningSetupParametersType(struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - (void)iso2LFA_EVSEFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2PaymentOptionListType(struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - iso2PaymentOptionListType->PaymentOption.arrayLen = 0u; -} - -void init_iso2LFA_EVSEFinePositioningParametersType(struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - (void)iso2LFA_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2RelativeTimeIntervalType(struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - iso2RelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_iso2EVFinePositioningParametersType(struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - (void)iso2EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2AlignmentCheckReqType(struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 0u; -} - -void init_iso2CertificateInstallationReqType(struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - (void)iso2CertificateInstallationReqType; /* avoid unused warning */ -} - -void init_iso2TransformsType(struct iso2TransformsType* iso2TransformsType) { - iso2TransformsType->Transform.arrayLen = 0u; -} - -void init_iso2ObjectType(struct iso2ObjectType* iso2ObjectType) { - iso2ObjectType->Id_isUsed = 0u; - iso2ObjectType->MimeType_isUsed = 0u; - iso2ObjectType->Encoding_isUsed = 0u; - iso2ObjectType->ANY_isUsed = 0u; -} - -void init_iso2SensorOrderListType(struct iso2SensorOrderListType* iso2SensorOrderListType) { - iso2SensorOrderListType->SensorPosition.arrayLen = 0u; -} - -void init_iso2ChargeParameterDiscoveryReqType(struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 0u; -} - -void init_iso2ParameterType(struct iso2ParameterType* iso2ParameterType) { - iso2ParameterType->boolValue_isUsed = 0u; - iso2ParameterType->byteValue_isUsed = 0u; - iso2ParameterType->shortValue_isUsed = 0u; - iso2ParameterType->intValue_isUsed = 0u; - iso2ParameterType->physicalValue_isUsed = 0u; - iso2ParameterType->stringValue_isUsed = 0u; -} - -void init_iso2SessionStopReqType(struct iso2SessionStopReqType* iso2SessionStopReqType) { - (void)iso2SessionStopReqType; /* avoid unused warning */ -} - -void init_iso2SensorMeasurementsType(struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - (void)iso2SensorMeasurementsType; /* avoid unused warning */ -} - -void init_iso2DC_EVSEChargeParameterType(struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso2SensorPackageListType(struct iso2SensorPackageListType* iso2SensorPackageListType) { - iso2SensorPackageListType->SensorPackage.arrayLen = 0u; -} - -void init_iso2MeasurementDataListType(struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - iso2MeasurementDataListType->MeasurementData.arrayLen = 0u; -} - -void init_iso2CertificateChainType(struct iso2CertificateChainType* iso2CertificateChainType) { - iso2CertificateChainType->Id_isUsed = 0u; - iso2CertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_iso2SignaturePropertyType(struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - iso2SignaturePropertyType->Id_isUsed = 0u; - iso2SignaturePropertyType->ANY_isUsed = 0u; -} - -void init_iso2TransformType(struct iso2TransformType* iso2TransformType) { - iso2TransformType->ANY_isUsed = 0u; - iso2TransformType->XPath.arrayLen = 0u; -} - -void init_iso2EMAIDType(struct iso2EMAIDType* iso2EMAIDType) { - (void)iso2EMAIDType; /* avoid unused warning */ -} - -void init_iso2DSAKeyValueType(struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - iso2DSAKeyValueType->P_isUsed = 0u; - iso2DSAKeyValueType->Q_isUsed = 0u; - iso2DSAKeyValueType->G_isUsed = 0u; - iso2DSAKeyValueType->J_isUsed = 0u; - iso2DSAKeyValueType->Seed_isUsed = 0u; - iso2DSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_iso2EntryType(struct iso2EntryType* iso2EntryType) { - (void)iso2EntryType; /* avoid unused warning */ -} - -void init_iso2MessageHeaderType(struct iso2MessageHeaderType* iso2MessageHeaderType) { - iso2MessageHeaderType->Signature_isUsed = 0u; -} - -void init_iso2WPT_EVChargeParameterType(struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2DisconnectChargingDeviceReqType(struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - (void)iso2DisconnectChargingDeviceReqType; /* avoid unused warning */ -} - -void init_iso2ChargeLoopReqType(struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2ChargeLoopReqType->DisplayParameters_isUsed = 0u; -} - -void init_iso2V2GRequestType(struct iso2V2GRequestType* iso2V2GRequestType) { - (void)iso2V2GRequestType; /* avoid unused warning */ -} - -void init_iso2MeteringReceiptResType(struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - iso2MeteringReceiptResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionSetupResType(struct iso2SessionSetupResType* iso2SessionSetupResType) { - iso2SessionSetupResType->EVSEStatus_isUsed = 0u; - iso2SessionSetupResType->EVSETimeStamp_isUsed = 0u; -} - -void init_iso2AC_BidirectionalControlReqType(struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 0u; -} - -void init_iso2MV_EVSEFinePositioningParametersType(struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - (void)iso2MV_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2ReferenceType(struct iso2ReferenceType* iso2ReferenceType) { - iso2ReferenceType->Id_isUsed = 0u; - iso2ReferenceType->URI_isUsed = 0u; - iso2ReferenceType->Type_isUsed = 0u; - iso2ReferenceType->Transforms_isUsed = 0u; -} - -void init_iso2EVSEEnergyTransferParameterType(struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - (void)iso2EVSEEnergyTransferParameterType; /* avoid unused warning */ -} - -void init_iso2MeteringReceiptReqType(struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_iso2KeyValueType(struct iso2KeyValueType* iso2KeyValueType) { - iso2KeyValueType->DSAKeyValue_isUsed = 0u; - iso2KeyValueType->RSAKeyValue_isUsed = 0u; - iso2KeyValueType->ANY_isUsed = 0u; -} - -void init_iso2SensorListType(struct iso2SensorListType* iso2SensorListType) { - iso2SensorListType->Sensor.arrayLen = 0u; -} - -void init_iso2CurrentDemandReqType(struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2CurrentDemandReqType->DisplayParameters_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 0u; -} - -void init_iso2FinePositioningSetupReqType(struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 0u; -} - -void init_iso2LFA_EVFinePositioningSetupParametersType(struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - (void)iso2LFA_EVFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2SAScheduleTupleType(struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 0u; - iso2SAScheduleTupleType->SalesTariff_isUsed = 0u; - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 0u; -} - -void init_iso2WPT_EVSEChargeParameterType(struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - (void)iso2WPT_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso2FinePositioningResType(struct iso2FinePositioningResType* iso2FinePositioningResType) { - iso2FinePositioningResType->EVSEStatus_isUsed = 0u; - iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 0u; -} - -void init_iso2BodyBaseType(struct iso2BodyBaseType* iso2BodyBaseType) { - (void)iso2BodyBaseType; /* avoid unused warning */ -} - -void init_iso2ServiceDetailResType(struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - iso2ServiceDetailResType->EVSEStatus_isUsed = 0u; - iso2ServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_iso2PowerDeliveryReqType(struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - iso2PowerDeliveryReqType->EVOperation_isUsed = 0u; - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 0u; - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 0u; -} - -void init_iso2PairingResType(struct iso2PairingResType* iso2PairingResType) { - iso2PairingResType->EVSEStatus_isUsed = 0u; - iso2PairingResType->PairingParameters_isUsed = 0u; -} - -void init_iso2AuthorizationReqType(struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - iso2AuthorizationReqType->Id_isUsed = 0u; - iso2AuthorizationReqType->GenChallenge_isUsed = 0u; -} - -void init_iso2ParameterSetType(struct iso2ParameterSetType* iso2ParameterSetType) { - iso2ParameterSetType->Parameter.arrayLen = 0u; -} - -void init_iso2SPKIDataType(struct iso2SPKIDataType* iso2SPKIDataType) { - iso2SPKIDataType->SPKISexp.arrayLen = 0u; - iso2SPKIDataType->ANY_isUsed = 0u; -} - -void init_iso2PaymentDetailsResType(struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - iso2PaymentDetailsResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SignatureMethodType(struct iso2SignatureMethodType* iso2SignatureMethodType) { - iso2SignatureMethodType->HMACOutputLength_isUsed = 0u; - iso2SignatureMethodType->ANY_isUsed = 0u; -} - -void init_iso2AC_BidirectionalControlResType(struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; - iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 0u; - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2VehicleCheckOutReqType(struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - (void)iso2VehicleCheckOutReqType; /* avoid unused warning */ -} - -void init_iso2WeldingDetectionReqType(struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - (void)iso2WeldingDetectionReqType; /* avoid unused warning */ -} - -void init_iso2AlignmentCheckResType(struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - iso2AlignmentCheckResType->EVSEStatus_isUsed = 0u; - iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 0u; -} - -void init_iso2PowerDemandReqType(struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2PowerDemandReqType->DisplayParameters_isUsed = 0u; - iso2PowerDemandReqType->PowerDemandParameters_isUsed = 0u; -} - -void init_iso2MinimumPMaxRequestType(struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso2DisconnectChargingDeviceResType(struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionSetupReqType(struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - (void)iso2SessionSetupReqType; /* avoid unused warning */ -} - -void init_iso2PaymentDetailsReqType(struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - (void)iso2PaymentDetailsReqType; /* avoid unused warning */ -} - -void init_iso2Generic_EVFinePositioningParametersType(struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - (void)iso2Generic_EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2ConnectChargingDeviceReqType(struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - (void)iso2ConnectChargingDeviceReqType; /* avoid unused warning */ -} - -void init_iso2AC_EVSEChargeParameterType(struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - (void)iso2AC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso2SalesTariffEntryType(struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - iso2SalesTariffEntryType->EPriceLevel_isUsed = 0u; - iso2SalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_iso2DC_EVSEBidirectionalParameterType(struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso2CanonicalizationMethodType(struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - iso2CanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_iso2DisplayParametersType(struct iso2DisplayParametersType* iso2DisplayParametersType) { - iso2DisplayParametersType->CurrentRange_isUsed = 0u; - iso2DisplayParametersType->CurrentSOC_isUsed = 0u; - iso2DisplayParametersType->TargetSOC_isUsed = 0u; - iso2DisplayParametersType->BulkSOC_isUsed = 0u; - iso2DisplayParametersType->MinimumSOC_isUsed = 0u; - iso2DisplayParametersType->ChargingPerformance_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 0u; - iso2DisplayParametersType->ChargingComplete_isUsed = 0u; - iso2DisplayParametersType->BulkChargingComplete_isUsed = 0u; - iso2DisplayParametersType->InletHot_isUsed = 0u; -} - -void init_iso2DC_EVBidirectionalParameterType(struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 0u; -} - -void init_iso2PaymentServiceSelectionReqType(struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 0u; -} - -void init_iso2MagneticVectorType(struct iso2MagneticVectorType* iso2MagneticVectorType) { - (void)iso2MagneticVectorType; /* avoid unused warning */ -} - -void init_iso2PhysicalValueType(struct iso2PhysicalValueType* iso2PhysicalValueType) { - (void)iso2PhysicalValueType; /* avoid unused warning */ -} - -void init_iso2SystemStatusReqType(struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - (void)iso2SystemStatusReqType; /* avoid unused warning */ -} - -void init_iso2SystemStatusResType(struct iso2SystemStatusResType* iso2SystemStatusResType) { - iso2SystemStatusResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2EVSEFinePositioningSetupParametersType(struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - (void)iso2EVSEFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2V2GResponseType(struct iso2V2GResponseType* iso2V2GResponseType) { - iso2V2GResponseType->EVSEStatus_isUsed = 0u; -} - -void init_iso2BodyType(struct iso2BodyType* iso2BodyType) { - iso2BodyType->BodyElement_isUsed = 0u; - iso2BodyType->V2GRequest_isUsed = 0u; - iso2BodyType->DisconnectChargingDeviceReq_isUsed = 0u; - iso2BodyType->ConnectChargingDeviceReq_isUsed = 0u; - iso2BodyType->SystemStatusReq_isUsed = 0u; - iso2BodyType->DC_BidirectionalControlReq_isUsed = 0u; - iso2BodyType->AC_BidirectionalControlReq_isUsed = 0u; - iso2BodyType->VehicleCheckOutReq_isUsed = 0u; - iso2BodyType->VehicleCheckInReq_isUsed = 0u; - iso2BodyType->PowerDemandReq_isUsed = 0u; - iso2BodyType->PairingReq_isUsed = 0u; - iso2BodyType->AlignmentCheckReq_isUsed = 0u; - iso2BodyType->FinePositioningReq_isUsed = 0u; - iso2BodyType->FinePositioningSetupReq_isUsed = 0u; - iso2BodyType->WeldingDetectionReq_isUsed = 0u; - iso2BodyType->CurrentDemandReq_isUsed = 0u; - iso2BodyType->PreChargeReq_isUsed = 0u; - iso2BodyType->CableCheckReq_isUsed = 0u; - iso2BodyType->ChargingStatusReq_isUsed = 0u; - iso2BodyType->CertificateInstallationReq_isUsed = 0u; - iso2BodyType->CertificateUpdateReq_isUsed = 0u; - iso2BodyType->SessionStopReq_isUsed = 0u; - iso2BodyType->MeteringReceiptReq_isUsed = 0u; - iso2BodyType->PowerDeliveryReq_isUsed = 0u; - iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - iso2BodyType->AuthorizationReq_isUsed = 0u; - iso2BodyType->PaymentDetailsReq_isUsed = 0u; - iso2BodyType->PaymentServiceSelectionReq_isUsed = 0u; - iso2BodyType->ServiceDetailReq_isUsed = 0u; - iso2BodyType->ServiceDiscoveryReq_isUsed = 0u; - iso2BodyType->SessionSetupReq_isUsed = 0u; - iso2BodyType->V2GResponse_isUsed = 0u; - iso2BodyType->DisconnectChargingDeviceRes_isUsed = 0u; - iso2BodyType->ConnectChargingDeviceRes_isUsed = 0u; - iso2BodyType->SystemStatusRes_isUsed = 0u; - iso2BodyType->DC_BidirectionalControlRes_isUsed = 0u; - iso2BodyType->AC_BidirectionalControlRes_isUsed = 0u; - iso2BodyType->VehicleCheckOutRes_isUsed = 0u; - iso2BodyType->VehicleCheckInRes_isUsed = 0u; - iso2BodyType->PowerDemandRes_isUsed = 0u; - iso2BodyType->PairingRes_isUsed = 0u; - iso2BodyType->AlignmentCheckRes_isUsed = 0u; - iso2BodyType->FinePositioningRes_isUsed = 0u; - iso2BodyType->FinePositioningSetupRes_isUsed = 0u; - iso2BodyType->WeldingDetectionRes_isUsed = 0u; - iso2BodyType->CurrentDemandRes_isUsed = 0u; - iso2BodyType->PreChargeRes_isUsed = 0u; - iso2BodyType->CableCheckRes_isUsed = 0u; - iso2BodyType->ChargingStatusRes_isUsed = 0u; - iso2BodyType->CertificateInstallationRes_isUsed = 0u; - iso2BodyType->CertificateUpdateRes_isUsed = 0u; - iso2BodyType->SessionStopRes_isUsed = 0u; - iso2BodyType->MeteringReceiptRes_isUsed = 0u; - iso2BodyType->PowerDeliveryRes_isUsed = 0u; - iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - iso2BodyType->AuthorizationRes_isUsed = 0u; - iso2BodyType->PaymentDetailsRes_isUsed = 0u; - iso2BodyType->PaymentServiceSelectionRes_isUsed = 0u; - iso2BodyType->ServiceDetailRes_isUsed = 0u; - iso2BodyType->ServiceDiscoveryRes_isUsed = 0u; - iso2BodyType->SessionSetupRes_isUsed = 0u; -} - -void init_iso2PreChargeResType(struct iso2PreChargeResType* iso2PreChargeResType) { - iso2PreChargeResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2EVSEFinePositioningParametersType(struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - (void)iso2EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2PaymentServiceSelectionResType(struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2DigestMethodType(struct iso2DigestMethodType* iso2DigestMethodType) { - iso2DigestMethodType->ANY_isUsed = 0u; -} - -void init_iso2TargetPositionType(struct iso2TargetPositionType* iso2TargetPositionType) { - (void)iso2TargetPositionType; /* avoid unused warning */ -} - -void init_iso2LFA_EVFinePositioningParametersType(struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - (void)iso2LFA_EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2DC_EVChargeParameterType(struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 0u; - iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 0u; - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 0u; - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_iso2ServiceDetailReqType(struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - (void)iso2ServiceDetailReqType; /* avoid unused warning */ -} - -void init_iso2PreChargeReqType(struct iso2PreChargeReqType* iso2PreChargeReqType) { - (void)iso2PreChargeReqType; /* avoid unused warning */ -} - -void init_iso2ManifestType(struct iso2ManifestType* iso2ManifestType) { - iso2ManifestType->Id_isUsed = 0u; - iso2ManifestType->Reference.arrayLen = 0u; -} - -void init_iso2AnonType_V2G_Message(struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - (void)iso2AnonType_V2G_Message; /* avoid unused warning */ -} - -void init_iso2SelectedServiceListType(struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - iso2SelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_iso2Generic_EVSEFinePositioningParametersType(struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - (void)iso2Generic_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2CartesianCoordinatesType(struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - (void)iso2CartesianCoordinatesType; /* avoid unused warning */ -} - -void init_iso2KeyInfoType(struct iso2KeyInfoType* iso2KeyInfoType) { - iso2KeyInfoType->Id_isUsed = 0u; - iso2KeyInfoType->KeyName.arrayLen = 0u; - iso2KeyInfoType->KeyValue.arrayLen = 0u; - iso2KeyInfoType->RetrievalMethod.arrayLen = 0u; - iso2KeyInfoType->X509Data.arrayLen = 0u; - iso2KeyInfoType->PGPData.arrayLen = 0u; - iso2KeyInfoType->SPKIData.arrayLen = 0u; - iso2KeyInfoType->MgmtData.arrayLen = 0u; - iso2KeyInfoType->ANY_isUsed = 0u; -} - -void init_iso2SubCertificatesType(struct iso2SubCertificatesType* iso2SubCertificatesType) { - iso2SubCertificatesType->Certificate.arrayLen = 0u; -} - -void init_iso2ListOfRootCertificateIDsType(struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_iso2EVEnergyTransferParameterType(struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - (void)iso2EVEnergyTransferParameterType; /* avoid unused warning */ -} - -void init_iso2ContractSignatureEncryptedPrivateKeyType(struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - (void)iso2ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */ -} - -void init_iso2MagneticVectorSetupListType(struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen = 0u; -} - -void init_iso2PairingReqType(struct iso2PairingReqType* iso2PairingReqType) { - iso2PairingReqType->PairingParameters_isUsed = 0u; -} - -void init_iso2CurrentDemandResType(struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - iso2CurrentDemandResType->EVSEStatus_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 0u; - iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 0u; - iso2CurrentDemandResType->MeterInfo_isUsed = 0u; - iso2CurrentDemandResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2X509IssuerSerialType(struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - (void)iso2X509IssuerSerialType; /* avoid unused warning */ -} - -void init_iso2ChargingStatusReqType(struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2ChargingStatusReqType->DisplayParameters_isUsed = 0u; - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 0u; - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 0u; - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 0u; -} - -void init_iso2CertificateInstallationResType(struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - iso2CertificateInstallationResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SensorPackageType(struct iso2SensorPackageType* iso2SensorPackageType) { - iso2SensorPackageType->SensorMeasurements.arrayLen = 0u; -} - -void init_iso2PGPDataType(struct iso2PGPDataType* iso2PGPDataType) { - iso2PGPDataType->PGPKeyID_isUsed = 0u; - iso2PGPDataType->PGPKeyPacket_isUsed = 0u; - iso2PGPDataType->ANY_isUsed = 0u; -} - -void init_iso2ServiceDiscoveryResType(struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 0u; - iso2ServiceDiscoveryResType->VASList_isUsed = 0u; -} - -void init_iso2ServiceIDListType(struct iso2ServiceIDListType* iso2ServiceIDListType) { - iso2ServiceIDListType->ServiceID.arrayLen = 0u; -} - -void init_iso2EVFinePositioningSetupParametersType(struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - (void)iso2EVFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2ChargeParameterDiscoveryResType(struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 0u; -} - -void init_iso2PowerDemandResType(struct iso2PowerDemandResType* iso2PowerDemandResType) { - iso2PowerDemandResType->EVSEStatus_isUsed = 0u; - iso2PowerDemandResType->SAScheduleTupleID_isUsed = 0u; - iso2PowerDemandResType->MeterInfo_isUsed = 0u; - iso2PowerDemandResType->ReceiptRequired_isUsed = 0u; - iso2PowerDemandResType->PowerDemandParameters_isUsed = 0u; -} - -void init_iso2ChargingProfileType(struct iso2ChargingProfileType* iso2ChargingProfileType) { - iso2ChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_iso2FinePositioningReqType(struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 0u; - iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 0u; - iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 0u; -} - -void init_iso2SalesTariffType(struct iso2SalesTariffType* iso2SalesTariffType) { - iso2SalesTariffType->SalesTariffDescription_isUsed = 0u; - iso2SalesTariffType->NumEPriceLevels_isUsed = 0u; - iso2SalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_iso2SensorType(struct iso2SensorType* iso2SensorType) { - (void)iso2SensorType; /* avoid unused warning */ -} - -void init_iso2SignatureValueType(struct iso2SignatureValueType* iso2SignatureValueType) { - iso2SignatureValueType->Id_isUsed = 0u; -} - -void init_iso2SignedInfoType(struct iso2SignedInfoType* iso2SignedInfoType) { - iso2SignedInfoType->Id_isUsed = 0u; - iso2SignedInfoType->Reference.arrayLen = 0u; -} - -void init_iso2PowerDeliveryResType(struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - iso2PowerDeliveryResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2CableCheckReqType(struct iso2CableCheckReqType* iso2CableCheckReqType) { - (void)iso2CableCheckReqType; /* avoid unused warning */ -} - -void init_iso2SelectedServiceType(struct iso2SelectedServiceType* iso2SelectedServiceType) { - (void)iso2SelectedServiceType; /* avoid unused warning */ -} - -void init_iso2DiffieHellmanPublickeyType(struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - (void)iso2DiffieHellmanPublickeyType; /* avoid unused warning */ -} - -void init_iso2EVSEStatusType(struct iso2EVSEStatusType* iso2EVSEStatusType) { - (void)iso2EVSEStatusType; /* avoid unused warning */ -} - - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypes.h b/Port/vc2022/src/iso2/iso2EXIDatatypes.h deleted file mode 100644 index a898a2d..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypes.h +++ /dev/null @@ -1,4189 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_iso2_DATATYPES_H -#define EXI_iso2_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_ISO2_CODEC SUPPORT_YES -#define DEPLOY_ISO2_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorPosition from 255 to 5 (see #define iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MeasurementData from 255 to 5 (see #define iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define iso2TransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define iso2SPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup from 255 to 5 (see #define iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define iso2X509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define iso2X509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define iso2X509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define iso2X509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define iso2TransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":Sensor from 255 to 5 (see #define iso2SensorListType_Sensor_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso2ManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements from 255 to 5 (see #define iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry from unbounded to 24 (see #define iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso2SignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MagneticVector from 255 to 5 (see #define iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":ParameterSet from 255 to 5 (see #define iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorPackage from 255 to 5 (see #define iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define iso2KeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define iso2KeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define iso2KeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define iso2KeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define iso2KeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define iso2KeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define iso2SignatureType_Object_ARRAY_SIZE) */ - - -/* 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 iso2RSAKeyValueType_Modulus_BYTES_SIZE 350 -#define iso2RSAKeyValueType_Exponent_BYTES_SIZE 350 -struct iso2RSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2RSAKeyValueType_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[iso2RSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 iso2MeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ -#define iso2MeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ -struct iso2MeterInfoType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterID, urn:iso:15118:2:2016:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[iso2MeterInfoType_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } 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[iso2MeterInfoType_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; -}; - -/* 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 iso2ServiceType { - /* 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 ; -}; - -typedef enum { - iso2vehicleSpaceType_AutoParking = 0, - iso2vehicleSpaceType_MVGuideManual = 1, - iso2vehicleSpaceType_Manual = 2 -} iso2vehicleSpaceType; - -/* 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 iso2ServiceListType_Service_ARRAY_SIZE 8 -struct iso2ServiceListType { - /* 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 iso2ServiceType array[iso2ServiceListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -typedef enum { - iso2operationModeType_Ready = 0, - iso2operationModeType_NotReady = 1 -} iso2operationModeType; - -/* 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 iso2MagneticVectorSetupType_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2MagneticVectorSetupType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ - struct { - exi_string_character_t characters[iso2MagneticVectorSetupType_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,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 iso2RelativeTimeIntervalType { - /* 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,EVFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct iso2EVFinePositioningParametersType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2ObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2ObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ObjectType_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[iso2ObjectType_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[iso2ObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso2ObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -#define iso2SensorOrderListType_SensorPosition_ARRAY_SIZE 5 -struct iso2SensorOrderListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPosition, http://www.w3.org/2001/XMLSchema,unsignedByte */ - struct { - uint8_t array[iso2SensorOrderListType_SensorPosition_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorPosition; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -#define iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE 5 -struct iso2MeasurementDataListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeasurementData, http://www.w3.org/2001/XMLSchema,unsignedShort */ - struct { - uint16_t array[iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE]; - uint16_t arrayLen; - } MeasurementData; -}; - -/* 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 iso2SignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2SignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignaturePropertyType_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[iso2SignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso2TransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2TransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2TransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2TransformType_XPath_ARRAY_SIZE 1 -struct iso2TransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2TransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2TransformType_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 { - exi_string_character_t characters[iso2TransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2TransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -typedef enum { - iso2EVSENotificationType_StopCharging = 0, - iso2EVSENotificationType_ReNegotiation = 1 -} iso2EVSENotificationType; - -/* 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 iso2EMAIDType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EMAIDType_CONTENT_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2EMAIDType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2EMAIDType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2EMAIDType_CONTENT_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CONTENT ; -}; - -/* 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'. */ -#define iso2DSAKeyValueType_P_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Q_BYTES_SIZE 350 -#define iso2DSAKeyValueType_G_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Y_BYTES_SIZE 350 -#define iso2DSAKeyValueType_J_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Seed_BYTES_SIZE 350 -#define iso2DSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct iso2DSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -/* 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 iso2EntryType { - /* 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 iso2RelativeTimeIntervalType RelativeTimeInterval ; -}; - -typedef enum { - iso2valueType_bool = 0, - iso2valueType_byte = 1, - iso2valueType_short = 2, - iso2valueType_int = 3, - iso2valueType_physicalValue = 4, - iso2valueType_string = 5 -} iso2valueType; - -/* 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 iso2V2GRequestType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2EVSEEnergyTransferParameterType { - 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 iso2MeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2MeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -struct iso2MeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2MeteringReceiptReqType_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[iso2MeteringReceiptReqType_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 iso2MeterInfoType MeterInfo ; -}; - -/* 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 iso2KeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2KeyValueType { - /* 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 iso2DSAKeyValueType 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 iso2RSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2KeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso2EVCheckInStatusType_CheckIn = 0, - iso2EVCheckInStatusType_Processing = 1, - iso2EVCheckInStatusType_Completed = 2 -} iso2EVCheckInStatusType; - -typedef enum { - iso2mechanicalChargingDeviceStatusType_Home = 0, - iso2mechanicalChargingDeviceStatusType_Moving = 1, - iso2mechanicalChargingDeviceStatusType_EndPosition = 2 -} iso2mechanicalChargingDeviceStatusType; - -/* 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 iso2BodyBaseType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2AuthorizationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2AuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -struct iso2AuthorizationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2AuthorizationReqType_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[iso2AuthorizationReqType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - unsigned int GenChallenge_isUsed:1; -}; - -/* 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 iso2SPKIDataType_SPKISexp_BYTES_SIZE 350 -#define iso2SPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define iso2SPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2SPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2SPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2SPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2SignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2SignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2SignatureMethodType_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[iso2SignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct iso2WeldingDetectionReqType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2SessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ -struct iso2SessionSetupReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCCID, urn:iso:15118:2:2016:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[iso2SessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - iso2chargeProgressType_Start = 0, - iso2chargeProgressType_Stop = 1, - iso2chargeProgressType_Renegotiate = 2 -} iso2chargeProgressType; - -/* 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 iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2CanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2PhysicalValueType { - /* 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: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 iso2SystemStatusReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ - iso2operationModeType OperationMode ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2EVSEFinePositioningSetupParametersType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2EVSEFinePositioningParametersType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2FODStatusType_ObjectOnPad = 0, - iso2FODStatusType_PadClear = 1, - iso2FODStatusType_UnknownError = 2 -} iso2FODStatusType; - -typedef enum { - iso2costKindType_relativePricePercentage = 0, - iso2costKindType_RenewableGenerationPercentage = 1, - iso2costKindType_CarbonDioxideEmission = 2 -} iso2costKindType; - -/* 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 iso2DigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2DigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2DigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2DigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2DigestMethodType_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 iso2TargetPositionType { - /* 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 ; -}; - -typedef enum { - iso2EVOperationType_Charge = 0, - iso2EVOperationType_BPT = 1 -} iso2EVOperationType; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2ServiceDetailReqType { - /* 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: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 iso2PreChargeReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVTargetCurrent ; -}; - -typedef enum { - iso2serviceCategoryType_EVCharging = 0, - iso2serviceCategoryType_Internet = 1, - iso2serviceCategoryType_ContractCertificate = 2, - iso2serviceCategoryType_OtherCustom = 3 -} iso2serviceCategoryType; - -/* 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 iso2CartesianCoordinatesType { - /* 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='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 iso2SubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2SubCertificatesType_Certificate_ARRAY_SIZE 4 -struct iso2SubCertificatesType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":Certificate, urn:iso:15118:2:2016:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[iso2SubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2SubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -typedef enum { - iso2parkingMethodType_AutoParking = 0, - iso2parkingMethodType_MVGuideManual = 1, - iso2parkingMethodType_Manual = 2 -} iso2parkingMethodType; - -/* 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 iso2EVEnergyTransferParameterType { - /* 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:2016:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='encryptedPrivateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 -struct iso2ContractSignatureEncryptedPrivateKeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,encryptedPrivateKeyType */ - struct { - uint8_t bytes[iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE 5 -struct iso2MagneticVectorSetupListType { - /* 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 iso2MagneticVectorSetupType array[iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE]; - uint16_t arrayLen; - } MagneticVectorSetup; -}; - -typedef enum { - iso2responseCodeType_OK = 0, - iso2responseCodeType_OK_NewSessionEstablished = 1, - iso2responseCodeType_OK_OldSessionJoined = 2, - iso2responseCodeType_OK_CertificateExpiresSoon = 3, - iso2responseCodeType_OK_IsolationValid = 4, - iso2responseCodeType_OK_IsolationWarning = 5, - iso2responseCodeType_WARNING_CertificateExpired = 6, - iso2responseCodeType_WARNING_NoCertificateAvailable = 7, - iso2responseCodeType_WARNING_CertValidationError = 8, - iso2responseCodeType_WARNING_CertVerificationError = 9, - iso2responseCodeType_WARNING_ContractCanceled = 10, - iso2responseCodeType_FAILED = 11, - iso2responseCodeType_FAILED_SequenceError = 12, - iso2responseCodeType_FAILED_ServiceIDInvalid = 13, - iso2responseCodeType_FAILED_UnknownSession = 14, - iso2responseCodeType_FAILED_ServiceSelectionInvalid = 15, - iso2responseCodeType_FAILED_SignatureError = 16, - iso2responseCodeType_FAILED_PaymentSelectionInvalid = 17, - iso2responseCodeType_FAILED_ChallengeInvalid = 18, - iso2responseCodeType_FAILED_WrongChargeParameter = 19, - iso2responseCodeType_FAILED_IsolationFault = 20, - iso2responseCodeType_FAILED_PowerDeliveryNotApplied = 21, - iso2responseCodeType_FAILED_TariffSelectionInvalid = 22, - iso2responseCodeType_FAILED_ChargingProfileInvalid = 23, - iso2responseCodeType_FAILED_MeteringSignatureNotValid = 24, - iso2responseCodeType_FAILED_NoChargeServiceSelected = 25, - iso2responseCodeType_FAILED_WrongEnergyTransferMode = 26, - iso2responseCodeType_FAILED_ContactorError = 27, - iso2responseCodeType_FAILED_CertificateRevoked = 28, - iso2responseCodeType_FAILED_CertificateNotYetValid = 29 -} iso2responseCodeType; - -/* 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 iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2X509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -typedef enum { - iso2chargingSessionType_Terminate = 0, - iso2chargingSessionType_Pause = 1 -} iso2chargingSessionType; - -typedef enum { - iso2EVSEProcessingType_Finished = 0, - iso2EVSEProcessingType_Ongoing = 1, - iso2EVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 -} iso2EVSEProcessingType; - -typedef enum { - iso2paymentOptionType_Contract = 0, - iso2paymentOptionType_ExternalPayment = 1 -} iso2paymentOptionType; - -typedef enum { - iso2EVSECheckOutStatusType_Scheduled = 0, - iso2EVSECheckOutStatusType_Completed = 1 -} iso2EVSECheckOutStatusType; - -/* 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 iso2PGPDataType_PGPKeyID_BYTES_SIZE 350 -#define iso2PGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define iso2PGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2PGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso2PGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso2PGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2PGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2ServiceIDListType_ServiceID_ARRAY_SIZE 10 -struct iso2ServiceIDListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ - struct { - uint16_t array[iso2ServiceIDListType_ServiceID_ARRAY_SIZE]; - uint16_t arrayLen; - } ServiceID; -}; - -/* 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 iso2EVFinePositioningSetupParametersType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2EVCheckOutStatusType_CheckOut = 0, - iso2EVCheckOutStatusType_Processing = 1, - iso2EVCheckOutStatusType_Completed = 2 -} iso2EVCheckOutStatusType; - -/* 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 iso2SensorType { - /* 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 iso2CartesianCoordinatesType 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 iso2CartesianCoordinatesType SensorOrientation ; -}; - -/* 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 iso2SignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignatureValueType_CONTENT_BYTES_SIZE 350 -struct iso2SignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignatureValueType_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[iso2SignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct iso2CableCheckReqType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2electricalChargingDeviceStatusType_Connected = 0, - iso2electricalChargingDeviceStatusType_Disconnected = 1 -} iso2electricalChargingDeviceStatusType; - -/* 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 iso2SelectedServiceType { - /* 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 ; -}; - -typedef enum { - iso2EVSEErrorCodeType_RESSTemperatureInhibit = 0, - iso2EVSEErrorCodeType_ChargerConnectorLockFault = 1, - iso2EVSEErrorCodeType_ChargingCurrentdifferential = 2, - iso2EVSEErrorCodeType_ChargingVoltageOutOfRange = 3, - iso2EVSEErrorCodeType_ChargingSystemIncompatibility = 4, - iso2EVSEErrorCodeType_Reserved_A = 5, - iso2EVSEErrorCodeType_Reserved_B = 6, - iso2EVSEErrorCodeType_Reserved_C = 7 -} iso2EVSEErrorCodeType; - -/* 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 iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 -struct iso2DiffieHellmanPublickeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,dHpublickeyType */ - struct { - uint8_t bytes[iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso2EVSEStatusType { - /* 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 */ - iso2EVSENotificationType EVSENotification ; -}; - -typedef enum { - iso2EVErrorCodeType_RESSTemperatureInhibit = 0, - iso2EVErrorCodeType_EVShiftPosition = 1, - iso2EVErrorCodeType_ChargerConnectorLockFault = 2, - iso2EVErrorCodeType_EVRESSMalfunction = 3, - iso2EVErrorCodeType_ChargingCurrentdifferential = 4, - iso2EVErrorCodeType_ChargingVoltageOutOfRange = 5, - iso2EVErrorCodeType_ChargingSystemIncompatibility = 6, - iso2EVErrorCodeType_Reserved_A = 7, - iso2EVErrorCodeType_Reserved_B = 8, - iso2EVErrorCodeType_Reserved_C = 9 -} iso2EVErrorCodeType; - -/* 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 iso2AuthorizationResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2MV_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 iso2MagneticVectorSetupListType MagneticVectorSetupList ; - unsigned int MagneticVectorSetupList_isUsed:1; -}; - -/* 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'. */ -#define iso2X509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define iso2X509DataType_X509SKI_BYTES_SIZE 350 -#define iso2X509DataType_X509SKI_ARRAY_SIZE 1 -#define iso2X509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2X509DataType_X509SubjectName_ARRAY_SIZE 1 -#define iso2X509DataType_X509Certificate_BYTES_SIZE 350 -#define iso2X509DataType_X509Certificate_ARRAY_SIZE 1 -#define iso2X509DataType_X509CRL_BYTES_SIZE 350 -#define iso2X509DataType_X509CRL_ARRAY_SIZE 1 -#define iso2X509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2X509DataType { - /* 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 { - struct iso2X509IssuerSerialType array[iso2X509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2X509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2X509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2X509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2DC_BidirectionalControlResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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[iso2DC_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 iso2MeterInfoType 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: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 iso2CostType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":costKind, urn:iso:15118:2:2016:MsgDataTypes,costKindType */ - iso2costKindType 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 iso2PhysicalValueType amount ; -}; - -/* 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 iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2ChargingStatusResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2ChargingStatusResType_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 iso2MeterInfoType 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 iso2PhysicalValueType EVSETargetPower ; - unsigned int EVSETargetPower_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumVoltage ; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMaximumDischargeCurrent ; -}; - -/* 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 iso2VehicleCheckOutResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ - iso2EVCheckOutStatusType EVSECheckOutStatus ; -}; - -/* 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 iso2CableCheckResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2ServiceDiscoveryReqType { - /* 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 iso2ServiceIDListType SupportedServiceIDs ; - unsigned int SupportedServiceIDs_isUsed:1; -}; - -/* 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 iso2SignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct iso2SignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignaturePropertiesType_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 iso2SignaturePropertyType array[iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE 3 -struct iso2PMaxScheduleEntryType { - /* 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 iso2RelativeTimeIntervalType 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 iso2PhysicalValueType array[iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE]; - uint16_t arrayLen; - } PMax; -}; - -/* 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 iso2VehicleCheckInReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckInStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckInStatusType */ - iso2EVCheckInStatusType EVCheckInStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":ParkingMethod, urn:iso:15118:2:2016:MsgDataTypes,parkingMethodType */ - iso2parkingMethodType ParkingMethod ; - unsigned int ParkingMethod_isUsed:1; -}; - -/* 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 iso2ConnectChargingDeviceResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2WeldingDetectionResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2SessionStopResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2VehicleCheckInResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2TargetPositionType TargetOffset ; - unsigned int TargetOffset_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumDischargeCurrent ; -}; - -/* 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 iso2ConsumptionCostType_Cost_ARRAY_SIZE 3 -struct iso2ConsumptionCostType { - /* 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 iso2PhysicalValueType 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 iso2CostType array[iso2ConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* 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 iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE 2 -struct iso2PaymentOptionListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":PaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ - struct { - iso2paymentOptionType array[iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* 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'. */ -#define iso2TransformsType_Transform_ARRAY_SIZE 1 -struct iso2TransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct iso2TransformType array[iso2TransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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 iso2ParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2ParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[iso2ParameterType_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 iso2PhysicalValueType 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[iso2ParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* 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 iso2SessionStopReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":ChargingSession, urn:iso:15118:2:2016:MsgDataTypes,chargingSessionType */ - iso2chargingSessionType ChargingSession ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorMeasurementsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower,"urn:iso:15118:2:2016:MsgDataTypes":MeasurementDataList)', derivedBy='RESTRICTION'. */ -struct iso2SensorMeasurementsType { - /* 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":MeasurementDataList, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ - struct iso2MeasurementDataListType MeasurementDataList ; -}; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* 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 iso2CertificateChainType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -struct iso2CertificateChainType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateChainType_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[iso2CertificateChainType_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 iso2SubCertificatesType SubCertificates ; - unsigned int SubCertificates_isUsed:1; -}; - -/* 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 iso2WPT_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumEnergyRequest ; - unsigned int EVMinimumEnergyRequest_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 iso2DisconnectChargingDeviceReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2MeteringReceiptResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2SessionSetupResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2SessionSetupResType_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='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 iso2ReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_DigestValue_BYTES_SIZE 350 -struct iso2ReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ReferenceType_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[iso2ReferenceType_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[iso2ReferenceType_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 iso2TransformsType 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 iso2DigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[iso2ReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 iso2SensorListType_Sensor_ARRAY_SIZE 5 -struct iso2SensorListType { - /* 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 iso2SensorType array[iso2SensorListType_Sensor_ARRAY_SIZE]; - uint16_t arrayLen; - } Sensor; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningSetupParametersType', base type name='EVFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorListType SensorList ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ - struct iso2SensorOrderListType 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,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 iso2WPT_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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMinimumPower ; -}; - -/* 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 iso2ParameterSetType_Parameter_ARRAY_SIZE 16 -struct iso2ParameterSetType { - /* 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 iso2ParameterType array[iso2ParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* 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 iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -struct iso2PaymentDetailsResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2PaymentDetailsResType_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_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 iso2AC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2AC_BidirectionalControlResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSETargetReactivePower ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso2AC_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 iso2MeterInfoType 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,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 iso2VehicleCheckOutReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ - iso2EVCheckOutStatusType EVCheckOutStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":CheckOutTime, http://www.w3.org/2001/XMLSchema,unsignedLong */ - uint64_t CheckOutTime ; -}; - -/* 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 iso2AlignmentCheckResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType AlignmentCheckParameters ; - unsigned int AlignmentCheckParameters_isUsed:1; -}; - -/* 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 iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE 3 -struct iso2MinimumPMaxRequestType { - /* 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 iso2PMaxScheduleEntryType array[iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } MinimumPMaxScheduleEntry; -}; - -/* 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 iso2DisconnectChargingDeviceResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2PaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ -struct iso2PaymentDetailsReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2PaymentDetailsReqType_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 iso2CertificateChainType ContractSignatureCertChain ; -}; - -/* 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 iso2Generic_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 iso2ParameterSetType GenericParameters ; -}; - -/* 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 iso2ConnectChargingDeviceReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSENominalFrequency ; -}; - -/* 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 iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 -struct iso2SalesTariffEntryType { - /* 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 iso2RelativeTimeIntervalType 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 iso2ConsumptionCostType array[iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMinimumDischargeCurrent ; -}; - -/* 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 iso2DisplayParametersType { - /* 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 iso2PhysicalValueType 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: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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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,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 iso2MagneticVectorType_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2MagneticVectorType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ - struct { - exi_string_character_t characters[iso2MagneticVectorType_GAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GAID ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":Distance, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t 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 iso2PhysicalValueType 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 iso2PhysicalValueType RotationVAtoGA ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":FODStatus, urn:iso:15118:2:2016:MsgDataTypes,FODStatusType */ - iso2FODStatusType FODStatus ; -}; - -/* 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 iso2SystemStatusResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ - iso2operationModeType OperationMode ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2V2GResponseType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; -}; - -/* 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 iso2PreChargeResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2PaymentServiceSelectionResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2ManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ManifestType_Reference_ARRAY_SIZE 1 -struct iso2ManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ManifestType_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 iso2ReferenceType array[iso2ManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso2SelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct iso2SelectedServiceListType { - /* 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 iso2SelectedServiceType array[iso2SelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* 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 iso2Generic_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 iso2ParameterSetType GenericParameters ; -}; - -/* 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 iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 20 -struct iso2ListOfRootCertificateIDsType { - /* 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 iso2X509IssuerSerialType array[iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 iso2PairingReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType PairingParameters ; - unsigned int PairingParameters_isUsed:1; -}; - -/* 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 iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2CurrentDemandResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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[iso2CurrentDemandResType_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 iso2MeterInfoType 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,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 iso2ChargingStatusReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumChargeCurrent ; - unsigned int EVMinimumChargeCurrent_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 iso2CertificateInstallationResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2CertificateChainType 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 iso2CertificateChainType 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 iso2ContractSignatureEncryptedPrivateKeyType 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 iso2DiffieHellmanPublickeyType 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 iso2EMAIDType eMAID ; -}; - -/* 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 iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE 5 -struct iso2SensorPackageType { - /* 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":MeasurementDataList)', derivedBy='RESTRICTION'. */ - struct { - struct iso2SensorMeasurementsType array[iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorMeasurements; -}; - -/* 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 iso2ServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PaymentOptionListType 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 iso2ServiceListType 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 iso2ServiceListType VASList ; - unsigned int VASList_isUsed:1; -}; - -/* 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 iso2PowerDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2PowerDemandResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEOutputPower ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso2PowerDemandResType_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 iso2MeterInfoType 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 iso2ParameterSetType PowerDemandParameters ; - unsigned int PowerDemandParameters_isUsed:1; -}; - -/* 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 iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct iso2ChargingProfileType { - /* 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 iso2PMaxScheduleEntryType array[iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* 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 iso2SalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct iso2SalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SalesTariffType_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[iso2SalesTariffType_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 iso2SalesTariffEntryType array[iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* 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 iso2SignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignedInfoType_Reference_ARRAY_SIZE 1 -struct iso2SignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignedInfoType_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 iso2CanonicalizationMethodType 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 iso2SignatureMethodType 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 iso2ReferenceType array[iso2SignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso2PowerDeliveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2RetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2RetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2RetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2RetrievalMethodType_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[iso2RetrievalMethodType_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 iso2TransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE 5 -struct iso2MagneticVectorListType { - /* 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 iso2MagneticVectorType array[iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE]; - uint16_t arrayLen; - } MagneticVector; -}; - -/* 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 iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct iso2ServiceParameterListType { - /* 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 iso2ParameterSetType array[iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* 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 iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct iso2PMaxScheduleType { - /* 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 iso2PMaxScheduleEntryType array[iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* 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 iso2CertificateUpdateResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2CertificateChainType 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 iso2CertificateChainType 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 iso2ContractSignatureEncryptedPrivateKeyType 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 iso2DiffieHellmanPublickeyType 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 iso2EMAIDType 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: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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumDischargePower ; - unsigned int EVMaximumDischargePower_isUsed:1; -}; - -/* 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 iso2CertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ -struct iso2CertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateUpdateReqType_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 iso2CertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2CertificateUpdateReqType_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 iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset,"urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorListType SensorList ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ - struct iso2SensorOrderListType 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: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 iso2AlignmentCheckReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType AlignmentCheckParameters ; - unsigned int AlignmentCheckParameters_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 iso2CertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -struct iso2CertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateInstallationReqType_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[iso2CertificateInstallationReqType_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 iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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 iso2ChargeParameterDiscoveryReqType { - /* 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 iso2EVEnergyTransferParameterType 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 iso2AC_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 iso2AC_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 iso2DC_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 iso2DC_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 iso2WPT_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 iso2MinimumPMaxRequestType MinimumPMaxRequest ; - unsigned int MinimumPMaxRequest_isUsed:1; -}; - -/* 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 iso2SensorPackageListType_SensorPackage_ARRAY_SIZE 5 -struct iso2SensorPackageListType { - /* 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 iso2SensorPackageType array[iso2SensorPackageListType_SensorPackage_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorPackage; -}; - -/* 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 iso2ChargeLoopReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType DisplayParameters ; - unsigned int DisplayParameters_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType DisplayParameters ; - unsigned int DisplayParameters_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ - iso2EVOperationType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVPresentReactivePower ; -}; - -/* 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 iso2MV_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 iso2MagneticVectorListType MagneticVectorList ; -}; - -/* 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 iso2CurrentDemandReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumVoltage ; - unsigned int EVMaximumVoltage_isUsed:1; -}; - -/* 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 iso2FinePositioningSetupReqType { - /* 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 iso2EVFinePositioningSetupParametersType 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,"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 iso2LFA_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='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 iso2SAScheduleTupleType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - /* 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 iso2PMaxScheduleType 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 iso2PMaxScheduleType 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 iso2SalesTariffType 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 iso2SalesTariffType BuyBackTariff ; - unsigned int BuyBackTariff_isUsed:1; -}; - -/* 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 iso2ServiceDetailResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2ServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* 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 iso2PowerDeliveryReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":ChargeProgress, urn:iso:15118:2:2016:MsgDataTypes,chargeProgressType */ - iso2chargeProgressType ChargeProgress ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ - iso2EVOperationType 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 iso2ChargingProfileType ChargingProfile ; - unsigned int ChargingProfile_isUsed:1; -}; - -/* 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 iso2PairingResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType PairingParameters ; - unsigned int PairingParameters_isUsed:1; -}; - -/* 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 iso2PowerDemandReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2ParameterSetType PowerDemandParameters ; - unsigned int PowerDemandParameters_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 iso2PaymentServiceSelectionReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ - iso2paymentOptionType 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 iso2SelectedServiceType 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 iso2SelectedServiceListType SelectedVASList ; - unsigned int SelectedVASList_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 iso2LFA_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 iso2SensorPackageListType SensorPackageList ; -}; - -/* 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'. */ -#define iso2KeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_KeyName_ARRAY_SIZE 1 -#define iso2KeyInfoType_KeyValue_ARRAY_SIZE 1 -#define iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define iso2KeyInfoType_X509Data_ARRAY_SIZE 1 -#define iso2KeyInfoType_PGPData_ARRAY_SIZE 1 -#define iso2KeyInfoType_SPKIData_ARRAY_SIZE 1 -#define iso2KeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_MgmtData_ARRAY_SIZE 1 -#define iso2KeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2KeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2KeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2KeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2KeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct iso2KeyValueType array[iso2KeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct iso2RetrievalMethodType array[iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct iso2X509DataType array[iso2KeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct iso2PGPDataType array[iso2KeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct iso2SPKIDataType array[iso2KeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2KeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2KeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2KeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2FinePositioningReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2EVFinePositioningParametersType 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 iso2Generic_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 iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - unsigned int LFA_EVFinePositioningParameters_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'. */ -#define iso2SignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignatureType_Object_ARRAY_SIZE 1 -struct iso2SignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct iso2SignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct iso2SignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct iso2KeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct iso2ObjectType array[iso2SignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* 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 iso2FinePositioningSetupResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2EVSEFinePositioningSetupParametersType 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,"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 iso2LFA_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 iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - unsigned int MV_EVSEFinePositioningSetupParameters_isUsed:1; -}; - -/* 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 iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3 -struct iso2SAScheduleListType { - /* 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 iso2SAScheduleTupleType array[iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE]; - uint16_t arrayLen; - } SAScheduleTuple; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorPackageListType SensorPackageList ; -}; - -/* 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 iso2MessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -struct iso2MessageHeaderType { - /* element: "urn:iso:15118:2:2016:MsgHeader":SessionID, urn:iso:15118:2:2016:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[iso2MessageHeaderType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* 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 iso2SignatureType Signature ; - unsigned int Signature_isUsed:1; -}; - -/* 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 iso2FinePositioningResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2EVSEFinePositioningParametersType 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 iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":LFA_EVSEFinePositioningParameters, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - unsigned int LFA_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 iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - unsigned int MV_EVSEFinePositioningParameters_isUsed:1; -}; - -/* 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 iso2ChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* 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 iso2SAScheduleListType SAScheduleList ; - unsigned int SAScheduleList_isUsed:1; - /* 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 iso2EVSEEnergyTransferParameterType 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 iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - unsigned int AC_EVSEChargeParameter_isUsed:1; - /* 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 iso2AC_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 iso2DC_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 iso2DC_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 iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - unsigned int WPT_EVSEChargeParameter_isUsed:1; -}; - -/* 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 iso2BodyType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* 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 iso2BodyBaseType BodyElement ; - /* 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 iso2BodyBaseType 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 iso2DisconnectChargingDeviceReqType 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 iso2ConnectChargingDeviceReqType 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 iso2SystemStatusReqType 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 iso2DC_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 iso2AC_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 iso2VehicleCheckOutReqType 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 iso2VehicleCheckInReqType 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 iso2PowerDemandReqType 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 iso2PairingReqType 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 iso2AlignmentCheckReqType 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 iso2FinePositioningReqType 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 iso2FinePositioningSetupReqType FinePositioningSetupReq ; - /* element: "urn:iso:15118:2:2016:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct iso2WeldingDetectionReqType 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 iso2CurrentDemandReqType CurrentDemandReq ; - /* 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 iso2PreChargeReqType PreChargeReq ; - /* element: "urn:iso:15118:2:2016:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct iso2CableCheckReqType 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 iso2ChargingStatusReqType 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 iso2CertificateInstallationReqType 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 iso2CertificateUpdateReqType 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 iso2SessionStopReqType 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 iso2MeteringReceiptReqType 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 iso2PowerDeliveryReqType 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 iso2ChargeParameterDiscoveryReqType 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 iso2AuthorizationReqType 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 iso2PaymentDetailsReqType 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 iso2PaymentServiceSelectionReqType 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 iso2ServiceDetailReqType 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 iso2ServiceDiscoveryReqType 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 iso2SessionSetupReqType 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 iso2V2GResponseType 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 iso2DisconnectChargingDeviceResType 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 iso2ConnectChargingDeviceResType 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 iso2SystemStatusResType 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 iso2DC_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 iso2AC_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 iso2VehicleCheckOutResType 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 iso2VehicleCheckInResType 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 iso2PowerDemandResType 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 iso2PairingResType 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 iso2AlignmentCheckResType 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 iso2FinePositioningResType 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 iso2FinePositioningSetupResType 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 iso2WeldingDetectionResType 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 iso2CurrentDemandResType 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 iso2PreChargeResType 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 iso2CableCheckResType 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 iso2ChargingStatusResType 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 iso2CertificateInstallationResType 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 iso2CertificateUpdateResType CertificateUpdateRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2SessionStopResType SessionStopRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2MeteringReceiptResType 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 iso2PowerDeliveryResType 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 iso2ChargeParameterDiscoveryResType 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 iso2AuthorizationResType 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 iso2PaymentDetailsResType PaymentDetailsRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":PaymentServiceSelectionRes, Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2PaymentServiceSelectionResType 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 iso2ServiceDetailResType 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 iso2ServiceDiscoveryResType 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 iso2SessionSetupResType SessionSetupRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int BodyElement_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; -}; - -/* 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 iso2AnonType_V2G_Message { - /* 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 iso2MessageHeaderType Header ; - /* 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 iso2BodyType Body ; -}; - - - -#define iso2EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIDocument_DigestValue_BYTES_SIZE 350 -#define iso2EXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_PgenCounter_BYTES_SIZE 350 -#define iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso2EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -#define iso2EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2EXIFragment_P_BYTES_SIZE 350 -#define iso2EXIFragment_Q_BYTES_SIZE 350 -#define iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_G_BYTES_SIZE 350 -#define iso2EXIFragment_J_BYTES_SIZE 350 -#define iso2EXIFragment_Y_BYTES_SIZE 350 -#define iso2EXIFragment_DigestValue_BYTES_SIZE 350 -#define iso2EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ -#define iso2EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define iso2EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_X509SKI_BYTES_SIZE 350 -#define iso2EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2EXIFragment_Modulus_BYTES_SIZE 350 -#define iso2EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ -#define iso2EXIFragment_Exponent_BYTES_SIZE 350 -#define iso2EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define iso2EXIFragment_Seed_BYTES_SIZE 350 -#define iso2EXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ -#define iso2EXIFragment_X509CRL_BYTES_SIZE 350 -#define iso2EXIFragment_SPKISexp_BYTES_SIZE 350 -#define iso2EXIFragment_X509Certificate_BYTES_SIZE 350 -#define iso2EXIFragment_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -#define iso2EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -#define iso2EXIFragment_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR - - -/* Global elements of EXI Document */ -struct iso2EXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso2AnonType_V2G_Message V2G_Message ; - struct iso2ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso2ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso2FinePositioningReqType FinePositioningReq ; - struct iso2FinePositioningResType FinePositioningRes ; - struct iso2DisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; - struct iso2DisconnectChargingDeviceResType DisconnectChargingDeviceRes ; - struct iso2PowerDemandReqType PowerDemandReq ; - struct iso2MeteringReceiptReqType MeteringReceiptReq ; - struct iso2PaymentDetailsReqType PaymentDetailsReq ; - struct iso2PowerDemandResType PowerDemandRes ; - struct iso2MeteringReceiptResType MeteringReceiptRes ; - struct iso2PaymentDetailsResType PaymentDetailsRes ; - struct iso2SessionSetupReqType SessionSetupReq ; - struct iso2SessionSetupResType SessionSetupRes ; - struct iso2CableCheckReqType CableCheckReq ; - struct iso2CableCheckResType CableCheckRes ; - struct iso2CertificateInstallationReqType CertificateInstallationReq ; - struct iso2CertificateInstallationResType CertificateInstallationRes ; - struct iso2SystemStatusReqType SystemStatusReq ; - struct iso2SystemStatusResType SystemStatusRes ; - struct iso2PairingReqType PairingReq ; - struct iso2WeldingDetectionReqType WeldingDetectionReq ; - struct iso2ConnectChargingDeviceReqType ConnectChargingDeviceReq ; - struct iso2PairingResType PairingRes ; - struct iso2WeldingDetectionResType WeldingDetectionRes ; - struct iso2ConnectChargingDeviceResType ConnectChargingDeviceRes ; - struct iso2CertificateUpdateReqType CertificateUpdateReq ; - struct iso2CertificateUpdateResType CertificateUpdateRes ; - struct iso2PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso2PowerDeliveryReqType PowerDeliveryReq ; - struct iso2PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso2PowerDeliveryResType PowerDeliveryRes ; - struct iso2ChargingStatusReqType ChargingStatusReq ; - struct iso2ChargingStatusResType ChargingStatusRes ; - struct iso2BodyBaseType BodyElement ; - struct iso2AC_BidirectionalControlReqType AC_BidirectionalControlReq ; - struct iso2AC_BidirectionalControlResType AC_BidirectionalControlRes ; - struct iso2VehicleCheckInReqType VehicleCheckInReq ; - struct iso2CurrentDemandReqType CurrentDemandReq ; - struct iso2VehicleCheckInResType VehicleCheckInRes ; - struct iso2PreChargeReqType PreChargeReq ; - struct iso2CurrentDemandResType CurrentDemandRes ; - struct iso2PreChargeResType PreChargeRes ; - struct iso2AlignmentCheckReqType AlignmentCheckReq ; - struct iso2BodyBaseType V2GRequest ; - struct iso2SessionStopReqType SessionStopReq ; - struct iso2AuthorizationReqType AuthorizationReq ; - struct iso2AlignmentCheckResType AlignmentCheckRes ; - struct iso2SessionStopResType SessionStopRes ; - struct iso2AuthorizationResType AuthorizationRes ; - struct iso2VehicleCheckOutReqType VehicleCheckOutReq ; - struct iso2ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso2VehicleCheckOutResType VehicleCheckOutRes ; - struct iso2ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso2V2GResponseType V2GResponse ; - struct iso2FinePositioningSetupReqType FinePositioningSetupReq ; - struct iso2FinePositioningSetupResType FinePositioningSetupRes ; - struct iso2ServiceDetailReqType ServiceDetailReq ; - struct iso2DC_BidirectionalControlReqType DC_BidirectionalControlReq ; - struct iso2ServiceDetailResType ServiceDetailRes ; - struct iso2DC_BidirectionalControlResType DC_BidirectionalControlRes ; - struct iso2LFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; - struct iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - struct iso2RelativeTimeIntervalType RelativeTimeInterval ; - struct iso2SalesTariffEntryType SalesTariffEntry ; - struct iso2LFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; - struct iso2AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - struct iso2EVEnergyTransferParameterType EVEnergyTransferParameter ; - struct iso2DC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; - struct iso2SAScheduleListType SAScheduleList ; - struct iso2EVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; - struct iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - struct iso2DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso2DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - struct iso2EVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; - struct iso2AC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; - struct iso2EVFinePositioningParametersType EVFinePositioningParameters ; - struct iso2WPT_EVChargeParameterType WPT_EVChargeParameter ; - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - struct iso2EVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; - struct iso2AC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; - struct iso2EVSEFinePositioningParametersType EVSEFinePositioningParameters ; - struct iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - struct iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso2PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso2Generic_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; - struct iso2DC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; - struct iso2SignaturePropertyType SignatureProperty ; - struct iso2DSAKeyValueType DSAKeyValue ; - struct iso2SignaturePropertiesType SignatureProperties ; - struct iso2KeyValueType KeyValue ; - struct iso2TransformsType Transforms ; - struct iso2DigestMethodType DigestMethod ; - struct iso2SignatureType Signature ; - struct iso2RetrievalMethodType RetrievalMethod ; - struct iso2ManifestType Manifest ; - struct iso2ReferenceType Reference ; - struct iso2CanonicalizationMethodType CanonicalizationMethod ; - struct iso2RSAKeyValueType RSAKeyValue ; - struct iso2TransformType Transform ; - struct iso2PGPDataType PGPData ; - struct { - exi_string_character_t characters[iso2EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso2SignatureMethodType SignatureMethod ; - struct iso2KeyInfoType KeyInfo ; - struct iso2SPKIDataType SPKIData ; - struct iso2X509DataType X509Data ; - struct iso2SignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[iso2EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[iso2EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso2SignedInfoType SignedInfo ; - struct iso2ObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - 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; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - 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 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 PaymentServiceSelectionReq_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - 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 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_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 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 EVSEFinePositioningSetupParameters_isUsed:1; - unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int DC_EVSEChargeParameter_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 LFA_EVSEFinePositioningParameters_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 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; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct iso2EXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso2PhysicalValueType EVMaximumVoltage ; - uint32_t FrequencyChannel ; - iso2EVSEProcessingType EVProcessing ; - int BulkChargingComplete ; - iso2parkingMethodType ParkingMethod ; - uint8_t SAScheduleTupleID ; - uint16_t Distance ; - struct iso2ParameterSetType ParameterSet ; - struct iso2PhysicalValueType EVMinimumDischargeCurrent ; - uint8_t SignalSeparationTime ; - struct iso2EVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; - struct iso2PhysicalValueType EVSEMaximumVoltage ; - struct iso2DC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; - iso2chargingSessionType ChargingSession ; - struct iso2SubCertificatesType SubCertificates ; - struct iso2RetrievalMethodType RetrievalMethod ; - struct iso2MagneticVectorSetupListType MagneticVectorSetupList ; - struct iso2ParameterSetType PairingParameters ; - struct iso2PhysicalValueType EVSEMinimumPower ; - struct iso2AC_BidirectionalControlReqType AC_BidirectionalControlReq ; - struct iso2CostType Cost ; - struct iso2AC_BidirectionalControlResType AC_BidirectionalControlRes ; - struct iso2SalesTariffType BuyBackTariff ; - int16_t XCoordinate ; - iso2EVCheckOutStatusType EVSECheckOutStatus ; - struct { - exi_string_character_t characters[iso2EXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - int16_t RetryCounter ; - struct iso2PhysicalValueType EVSEMaximumDischargeCurrent ; - struct iso2SensorType Sensor ; - uint64_t MeterReadingCharged ; - int64_t HMACOutputLength ; - struct iso2V2GResponseType V2GResponse ; - struct iso2PhysicalValueType EVMinimumVoltage ; - struct iso2PhysicalValueType EVMinimumEnergyRequest ; - struct iso2RelativeTimeIntervalType RelativeTimeInterval ; - struct iso2WPT_EVChargeParameterType WPT_EVChargeParameter ; - struct iso2SAScheduleTupleType SAScheduleTuple ; - uint16_t ServiceID ; - struct { - uint8_t bytes[iso2EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct { - exi_string_character_t characters[iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - struct iso2PhysicalValueType AngleGAtoVA ; - int boolValue ; - struct iso2PhysicalValueType EVMaximumDischargeCurrent ; - uint16_t NotificationMaxDelay ; - struct iso2PhysicalValueType EVSEMaximumDischargePower ; - struct iso2PGPDataType PGPData ; - struct iso2PhysicalValueType EVSEMaximumChargePower ; - struct { - uint8_t bytes[iso2EXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct iso2PhysicalValueType EVSEEnergyToBeDelivered ; - struct iso2PhysicalValueType EVMaximumPower ; - struct iso2PhysicalValueType EVMaximumCurrent ; - struct iso2RSAKeyValueType RSAKeyValue ; - struct iso2PhysicalValueType EVSENominalVoltage ; - struct iso2MagneticVectorType MagneticVector ; - struct { - exi_string_character_t characters[iso2EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct iso2SignatureType Signature ; - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - iso2EVSEProcessingType EVSEProcessing ; - iso2FODStatusType FODStatus ; - struct iso2PowerDeliveryResType PowerDeliveryRes ; - struct iso2SessionStopResType SessionStopRes ; - struct iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - iso2responseCodeType ResponseCode ; - struct iso2PhysicalValueType EVTargetEnergyRequest ; - struct iso2FinePositioningSetupReqType FinePositioningSetupReq ; - struct iso2PhysicalValueType EVSEPresentCurrent ; - struct iso2FinePositioningSetupResType FinePositioningSetupRes ; - struct iso2PMaxScheduleEntryType ProfileEntry ; - struct { - exi_string_character_t characters[iso2EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso2CertificateChainType SAProvisioningCertificateChain ; - struct iso2PowerDeliveryReqType PowerDeliveryReq ; - struct iso2SessionStopReqType SessionStopReq ; - int ReceiptRequired ; - struct iso2ChargingProfileType ChargingProfile ; - uint16_t MaxSupportingPoints ; - uint32_t start ; - struct iso2PhysicalValueType EVMinimumChargePower ; - struct iso2PhysicalValueType amount ; - struct iso2PreChargeReqType PreChargeReq ; - struct { - uint8_t bytes[iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - uint32_t PackageIndex ; - struct iso2PreChargeResType PreChargeRes ; - struct { - uint8_t bytes[iso2EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct { - uint8_t bytes[iso2EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[iso2EXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[iso2EXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct iso2CertificateChainType ContractSignatureCertChain ; - struct iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - struct iso2PhysicalValueType EVSEMinimumDischargeCurrent ; - struct iso2PhysicalValueType EVMaximumChargeCurrent ; - uint16_t AlignmentOffset ; - struct { - uint8_t bytes[iso2EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - int8_t RemainingTimeToTargetSOC ; - struct { - uint8_t bytes[iso2EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso2SensorMeasurementsType SensorMeasurements ; - struct iso2SalesTariffType SalesTariff ; - struct { - uint8_t bytes[iso2EXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct iso2PhysicalValueType EVSEMaximumPower ; - struct iso2TargetPositionType TargetOffset ; - struct iso2ParameterSetType PowerDemandParameters ; - struct { - uint8_t bytes[iso2EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct iso2DisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; - struct iso2DisconnectChargingDeviceResType DisconnectChargingDeviceRes ; - struct iso2DSAKeyValueType DSAKeyValue ; - struct iso2SalesTariffEntryType SalesTariffEntry ; - struct iso2CertificateInstallationResType CertificateInstallationRes ; - struct iso2CanonicalizationMethodType CanonicalizationMethod ; - struct iso2Generic_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; - struct iso2PhysicalValueType EVSEMinimumVoltage ; - struct iso2SystemStatusResType SystemStatusRes ; - struct iso2PhysicalValueType EVSEOutputPower ; - struct iso2SignedInfoType SignedInfo ; - struct iso2PhysicalValueType EVMinimumChargeCurrent ; - iso2costKindType costKind ; - struct iso2SystemStatusReqType SystemStatusReq ; - struct iso2CableCheckReqType CableCheckReq ; - uint8_t NumEPriceLevels ; - int EVSEVoltageLimitAchieved ; - uint8_t PackageSeparationTime ; - struct iso2CableCheckResType CableCheckRes ; - iso2EVCheckInStatusType EVCheckInStatus ; - struct iso2PMaxScheduleType PMaxDischargeSchedule ; - struct iso2PhysicalValueType EVMinimumPower ; - struct iso2PhysicalValueType ChargingPerformance ; - struct iso2AlignmentCheckReqType AlignmentCheckReq ; - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; - uint16_t VehicleSpace ; - struct iso2AlignmentCheckResType AlignmentCheckRes ; - struct iso2PhysicalValueType EVMinimumDischargePower ; - int8_t RemainingTimeToMinimumSOC ; - struct iso2AuthorizationResType AuthorizationRes ; - struct iso2CertificateInstallationReqType CertificateInstallationReq ; - struct iso2PaymentDetailsReqType PaymentDetailsReq ; - struct iso2PaymentDetailsResType PaymentDetailsRes ; - struct iso2AuthorizationReqType AuthorizationReq ; - struct iso2PhysicalValueType EVTargetCurrent ; - struct iso2SessionSetupReqType SessionSetupReq ; - struct iso2SessionSetupResType SessionSetupRes ; - struct iso2PhysicalValueType EVSENominalFrequency ; - struct iso2MessageHeaderType Header ; - uint8_t NumberOfSensors ; - int64_t EVSETimeStamp ; - int16_t MeterStatus ; - struct iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - iso2chargeProgressType ChargeProgress ; - struct { - exi_string_character_t characters[iso2EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct iso2PMaxScheduleType PMaxSchedule ; - uint32_t duration ; - int8_t RemainingTimeToBulkSOC ; - struct iso2CartesianCoordinatesType SensorOrientation ; - struct iso2PhysicalValueType EVSEMaximumChargeCurrent ; - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - struct iso2VehicleCheckInResType VehicleCheckInRes ; - struct iso2PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso2SAScheduleListType SAScheduleList ; - struct { - uint8_t bytes[iso2EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct iso2PaymentOptionListType PaymentOptionList ; - struct iso2ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - struct iso2VehicleCheckInReqType VehicleCheckInReq ; - struct { - uint8_t bytes[iso2EXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - uint64_t CheckOutTime ; - int8_t CurrentSOC ; - int16_t ZCoordinate ; - uint16_t MeasurementData ; - struct iso2PairingResType PairingRes ; - struct iso2PhysicalValueType EVSEMaximumCurrent ; - struct iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - struct iso2ParameterSetType AlignmentCheckParameters ; - int8_t EffectiveRadiatedPower ; - struct iso2PairingReqType PairingReq ; - int16_t Value ; - int8_t byteValue ; - struct iso2CurrentDemandReqType CurrentDemandReq ; - struct iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - struct iso2CurrentDemandResType CurrentDemandRes ; - struct iso2AC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; - struct { - uint8_t bytes[iso2EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - struct iso2SelectedServiceType SelectedEnergyTransferService ; - struct iso2PhysicalValueType startValue ; - struct iso2SelectedServiceListType SelectedVASList ; - struct iso2ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso2ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct { - uint8_t bytes[iso2EXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - int8_t TargetSOC ; - struct iso2EVSEStatusType EVSEStatus ; - struct iso2PhysicalValueType EVSEMinimumChargeCurrent ; - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - int64_t X509SerialNumber ; - iso2paymentOptionType PaymentOption ; - struct iso2TransformsType Transforms ; - struct iso2PhysicalValueType EVSEPeakCurrentRipple ; - struct iso2ConsumptionCostType ConsumptionCost ; - struct iso2EVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; - uint8_t EPriceLevel ; - struct { - uint8_t bytes[iso2EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct iso2X509IssuerSerialType X509IssuerSerial ; - struct iso2SPKIDataType SPKIData ; - struct iso2MagneticVectorListType MagneticVectorList ; - struct iso2EVSEFinePositioningParametersType EVSEFinePositioningParameters ; - struct iso2PhysicalValueType EVTargetPower ; - struct iso2SensorPackageListType SensorPackageList ; - uint32_t DepartureTime ; - int InletHot ; - struct iso2PhysicalValueType EVPresentActivePower ; - struct iso2X509DataType X509Data ; - int16_t YCoordinate ; - struct iso2KeyValueType KeyValue ; - struct iso2DisplayParametersType DisplayParameters ; - int EVSEPowerLimitAchieved ; - struct iso2BodyType Body ; - struct iso2DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso2ServiceType Service ; - struct iso2SignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[iso2EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct { - uint8_t bytes[iso2EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct iso2LFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; - struct iso2MinimumPMaxRequestType MinimumPMaxRequest ; - struct iso2FinePositioningReqType FinePositioningReq ; - struct iso2ServiceListType EnergyTransferServiceList ; - struct iso2FinePositioningResType FinePositioningRes ; - struct iso2AC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; - int FreeService ; - struct iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - uint8_t SensorID ; - struct iso2PhysicalValueType EVSECurrentRegulationTolerance ; - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; - struct iso2EVEnergyTransferParameterType EVEnergyTransferParameter ; - uint8_t SignalPulseDuration ; - int16_t shortValue ; - struct iso2ManifestType Manifest ; - struct iso2DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso2MeteringReceiptReqType MeteringReceiptReq ; - struct { - exi_string_character_t characters[iso2EXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct iso2MeteringReceiptResType MeteringReceiptRes ; - struct iso2ServiceDiscoveryReqType ServiceDiscoveryReq ; - uint8_t SalesTariffID ; - struct iso2ServiceDiscoveryResType ServiceDiscoveryRes ; - struct { - uint8_t bytes[iso2EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct iso2MagneticVectorSetupType MagneticVectorSetup ; - struct iso2DigestMethodType DigestMethod ; - struct { - uint8_t bytes[iso2EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - uint64_t MeterReadingDischarged ; - struct iso2MeasurementDataListType MeasurementDataList ; - struct iso2SignaturePropertiesType SignatureProperties ; - struct iso2CartesianCoordinatesType SensorPosition ; - struct iso2LFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; - struct iso2EMAIDType eMAID ; - struct iso2SensorPackageType SensorPackage ; - iso2EVCheckOutStatusType EVCheckOutStatus ; - struct { - uint8_t bytes[iso2EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct iso2X509IssuerSerialType RootCertificateID ; - struct iso2DC_BidirectionalControlReqType DC_BidirectionalControlReq ; - struct iso2PhysicalValueType EVSEPresentVoltage ; - struct iso2DC_BidirectionalControlResType DC_BidirectionalControlRes ; - struct iso2ServiceListType VASList ; - struct iso2MeterInfoType MeterInfo ; - struct iso2PhysicalValueType EVSETargetReactivePower ; - struct iso2ChargingStatusReqType ChargingStatusReq ; - struct iso2ParameterSetType GenericParameters ; - struct iso2ChargingStatusResType ChargingStatusRes ; - struct iso2PhysicalValueType EVMaximumChargePower ; - int8_t BulkSOC ; - uint8_t NumberOfSignalPackages ; - uint16_t ParameterSetID ; - struct iso2PhysicalValueType PMax ; - struct iso2PhysicalValueType EVMaximumEnergyRequest ; - iso2EVOperationType EVOperation ; - struct iso2CertificateUpdateResType CertificateUpdateRes ; - int ChargingComplete ; - struct iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct iso2PhysicalValueType RotationVAtoGA ; - struct iso2PhysicalValueType EVTargetVoltage ; - struct iso2CertificateUpdateReqType CertificateUpdateReq ; - struct iso2ConnectChargingDeviceResType ConnectChargingDeviceRes ; - struct iso2DiffieHellmanPublickeyType DHpublickey ; - struct iso2ServiceParameterListType ServiceParameterList ; - struct iso2SignatureValueType SignatureValue ; - struct iso2PhysicalValueType physicalValue ; - iso2operationModeType OperationMode ; - int EVSECurrentLimitAchieved ; - struct iso2ServiceDetailReqType ServiceDetailReq ; - struct iso2ServiceDetailResType ServiceDetailRes ; - int32_t intValue ; - struct iso2PhysicalValueType EVMaximumDischargePower ; - int8_t MinimumSOC ; - iso2paymentOptionType SelectedPaymentOption ; - struct iso2AnonType_V2G_Message V2G_Message ; - struct { - exi_string_character_t characters[iso2EXIFragment_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - int64_t TMeter ; - struct iso2SensorOrderListType SensorOrder ; - struct iso2ServiceIDListType SupportedServiceIDs ; - struct { - uint8_t bytes[iso2EXIFragment_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - struct iso2EVFinePositioningParametersType EVFinePositioningParameters ; - struct iso2SensorListType SensorList ; - struct iso2KeyInfoType KeyInfo ; - struct iso2ConnectChargingDeviceReqType ConnectChargingDeviceReq ; - struct iso2AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso2ParameterType Parameter ; - struct iso2WeldingDetectionResType WeldingDetectionRes ; - struct { - exi_string_character_t characters[iso2EXIFragment_GAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GAID ; - uint16_t SignalFrequency ; - struct iso2PhysicalValueType EVSETargetPower ; - struct iso2DC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; - struct iso2SignatureMethodType SignatureMethod ; - struct iso2WeldingDetectionReqType WeldingDetectionReq ; - struct iso2SelectedServiceType SelectedService ; - struct iso2PhysicalValueType EVInputPower ; - struct iso2VehicleCheckOutReqType VehicleCheckOutReq ; - struct iso2PowerDemandReqType PowerDemandReq ; - struct iso2VehicleCheckOutResType VehicleCheckOutRes ; - uint16_t CurrentRange ; - struct iso2PhysicalValueType EVPresentReactivePower ; - struct { - exi_string_character_t characters[iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct iso2BodyBaseType V2GRequest ; - struct iso2ReferenceType Reference ; - struct iso2BodyBaseType BodyElement ; - struct iso2PMaxScheduleEntryType MinimumPMaxScheduleEntry ; - struct iso2EVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; - iso2EVSENotificationType EVSENotification ; - struct iso2PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso2PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso2TransformType Transform ; - struct iso2ObjectType Object ; - uint16_t TargetOffsetY ; - struct iso2PowerDemandResType PowerDemandRes ; - uint16_t TargetOffsetX ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int EVMaximumVoltage_isUsed:1; - unsigned int FrequencyChannel_isUsed:1; - unsigned int EVProcessing_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int ParkingMethod_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int Distance_isUsed:1; - unsigned int ParameterSet_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 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 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 LFA_EVSEFinePositioningParameters_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 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 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 DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int MeterReadingDischarged_isUsed:1; - unsigned int MeasurementDataList_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 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_ISO2_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_iso2EXIDocument(struct iso2EXIDocument* exiDoc); -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -void init_iso2EXIFragment(struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ -void init_iso2RetrievalMethodType(struct iso2RetrievalMethodType* iso2RetrievalMethodType); -void init_iso2AuthorizationResType(struct iso2AuthorizationResType* iso2AuthorizationResType); -void init_iso2MV_EVSEFinePositioningSetupParametersType(struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -void init_iso2X509DataType(struct iso2X509DataType* iso2X509DataType); -void init_iso2RSAKeyValueType(struct iso2RSAKeyValueType* iso2RSAKeyValueType); -void init_iso2DC_BidirectionalControlResType(struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -void init_iso2CostType(struct iso2CostType* iso2CostType); -void init_iso2ChargingStatusResType(struct iso2ChargingStatusResType* iso2ChargingStatusResType); -void init_iso2MeterInfoType(struct iso2MeterInfoType* iso2MeterInfoType); -void init_iso2AC_EVChargeParameterType(struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -void init_iso2AC_EVSEBidirectionalParameterType(struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -void init_iso2VehicleCheckOutResType(struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -void init_iso2MagneticVectorListType(struct iso2MagneticVectorListType* iso2MagneticVectorListType); -void init_iso2CableCheckResType(struct iso2CableCheckResType* iso2CableCheckResType); -void init_iso2ServiceDiscoveryReqType(struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -void init_iso2ServiceType(struct iso2ServiceType* iso2ServiceType); -void init_iso2ServiceParameterListType(struct iso2ServiceParameterListType* iso2ServiceParameterListType); -void init_iso2PMaxScheduleType(struct iso2PMaxScheduleType* iso2PMaxScheduleType); -void init_iso2SignaturePropertiesType(struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -void init_iso2PMaxScheduleEntryType(struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -void init_iso2SignatureType(struct iso2SignatureType* iso2SignatureType); -void init_iso2VehicleCheckInReqType(struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -void init_iso2ConnectChargingDeviceResType(struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -void init_iso2WeldingDetectionResType(struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -void init_iso2SessionStopResType(struct iso2SessionStopResType* iso2SessionStopResType); -void init_iso2VehicleCheckInResType(struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -void init_iso2ServiceListType(struct iso2ServiceListType* iso2ServiceListType); -void init_iso2CertificateUpdateResType(struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -void init_iso2FinePositioningSetupResType(struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -void init_iso2AC_EVBidirectionalParameterType(struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -void init_iso2DC_BidirectionalControlReqType(struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -void init_iso2CertificateUpdateReqType(struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -void init_iso2ConsumptionCostType(struct iso2ConsumptionCostType* iso2ConsumptionCostType); -void init_iso2SAScheduleListType(struct iso2SAScheduleListType* iso2SAScheduleListType); -void init_iso2MagneticVectorSetupType(struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -void init_iso2LFA_EVSEFinePositioningSetupParametersType(struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -void init_iso2PaymentOptionListType(struct iso2PaymentOptionListType* iso2PaymentOptionListType); -void init_iso2LFA_EVSEFinePositioningParametersType(struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -void init_iso2RelativeTimeIntervalType(struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -void init_iso2EVFinePositioningParametersType(struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -void init_iso2AlignmentCheckReqType(struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -void init_iso2CertificateInstallationReqType(struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -void init_iso2TransformsType(struct iso2TransformsType* iso2TransformsType); -void init_iso2ObjectType(struct iso2ObjectType* iso2ObjectType); -void init_iso2SensorOrderListType(struct iso2SensorOrderListType* iso2SensorOrderListType); -void init_iso2ChargeParameterDiscoveryReqType(struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -void init_iso2ParameterType(struct iso2ParameterType* iso2ParameterType); -void init_iso2SessionStopReqType(struct iso2SessionStopReqType* iso2SessionStopReqType); -void init_iso2SensorMeasurementsType(struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -void init_iso2DC_EVSEChargeParameterType(struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -void init_iso2SensorPackageListType(struct iso2SensorPackageListType* iso2SensorPackageListType); -void init_iso2MeasurementDataListType(struct iso2MeasurementDataListType* iso2MeasurementDataListType); -void init_iso2CertificateChainType(struct iso2CertificateChainType* iso2CertificateChainType); -void init_iso2SignaturePropertyType(struct iso2SignaturePropertyType* iso2SignaturePropertyType); -void init_iso2TransformType(struct iso2TransformType* iso2TransformType); -void init_iso2EMAIDType(struct iso2EMAIDType* iso2EMAIDType); -void init_iso2DSAKeyValueType(struct iso2DSAKeyValueType* iso2DSAKeyValueType); -void init_iso2EntryType(struct iso2EntryType* iso2EntryType); -void init_iso2MessageHeaderType(struct iso2MessageHeaderType* iso2MessageHeaderType); -void init_iso2WPT_EVChargeParameterType(struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -void init_iso2DisconnectChargingDeviceReqType(struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -void init_iso2ChargeLoopReqType(struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -void init_iso2V2GRequestType(struct iso2V2GRequestType* iso2V2GRequestType); -void init_iso2MeteringReceiptResType(struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -void init_iso2SessionSetupResType(struct iso2SessionSetupResType* iso2SessionSetupResType); -void init_iso2AC_BidirectionalControlReqType(struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -void init_iso2MV_EVSEFinePositioningParametersType(struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -void init_iso2ReferenceType(struct iso2ReferenceType* iso2ReferenceType); -void init_iso2EVSEEnergyTransferParameterType(struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -void init_iso2MeteringReceiptReqType(struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -void init_iso2KeyValueType(struct iso2KeyValueType* iso2KeyValueType); -void init_iso2SensorListType(struct iso2SensorListType* iso2SensorListType); -void init_iso2CurrentDemandReqType(struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -void init_iso2FinePositioningSetupReqType(struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -void init_iso2LFA_EVFinePositioningSetupParametersType(struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -void init_iso2SAScheduleTupleType(struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -void init_iso2WPT_EVSEChargeParameterType(struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -void init_iso2FinePositioningResType(struct iso2FinePositioningResType* iso2FinePositioningResType); -void init_iso2BodyBaseType(struct iso2BodyBaseType* iso2BodyBaseType); -void init_iso2ServiceDetailResType(struct iso2ServiceDetailResType* iso2ServiceDetailResType); -void init_iso2PowerDeliveryReqType(struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -void init_iso2PairingResType(struct iso2PairingResType* iso2PairingResType); -void init_iso2AuthorizationReqType(struct iso2AuthorizationReqType* iso2AuthorizationReqType); -void init_iso2ParameterSetType(struct iso2ParameterSetType* iso2ParameterSetType); -void init_iso2SPKIDataType(struct iso2SPKIDataType* iso2SPKIDataType); -void init_iso2PaymentDetailsResType(struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -void init_iso2SignatureMethodType(struct iso2SignatureMethodType* iso2SignatureMethodType); -void init_iso2AC_BidirectionalControlResType(struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -void init_iso2VehicleCheckOutReqType(struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -void init_iso2WeldingDetectionReqType(struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -void init_iso2AlignmentCheckResType(struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -void init_iso2PowerDemandReqType(struct iso2PowerDemandReqType* iso2PowerDemandReqType); -void init_iso2MinimumPMaxRequestType(struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -void init_iso2DisconnectChargingDeviceResType(struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -void init_iso2SessionSetupReqType(struct iso2SessionSetupReqType* iso2SessionSetupReqType); -void init_iso2PaymentDetailsReqType(struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -void init_iso2Generic_EVFinePositioningParametersType(struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -void init_iso2ConnectChargingDeviceReqType(struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -void init_iso2AC_EVSEChargeParameterType(struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -void init_iso2SalesTariffEntryType(struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -void init_iso2DC_EVSEBidirectionalParameterType(struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -void init_iso2CanonicalizationMethodType(struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -void init_iso2DisplayParametersType(struct iso2DisplayParametersType* iso2DisplayParametersType); -void init_iso2DC_EVBidirectionalParameterType(struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -void init_iso2PaymentServiceSelectionReqType(struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -void init_iso2MagneticVectorType(struct iso2MagneticVectorType* iso2MagneticVectorType); -void init_iso2PhysicalValueType(struct iso2PhysicalValueType* iso2PhysicalValueType); -void init_iso2SystemStatusReqType(struct iso2SystemStatusReqType* iso2SystemStatusReqType); -void init_iso2SystemStatusResType(struct iso2SystemStatusResType* iso2SystemStatusResType); -void init_iso2EVSEFinePositioningSetupParametersType(struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -void init_iso2V2GResponseType(struct iso2V2GResponseType* iso2V2GResponseType); -void init_iso2BodyType(struct iso2BodyType* iso2BodyType); -void init_iso2PreChargeResType(struct iso2PreChargeResType* iso2PreChargeResType); -void init_iso2EVSEFinePositioningParametersType(struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -void init_iso2PaymentServiceSelectionResType(struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -void init_iso2DigestMethodType(struct iso2DigestMethodType* iso2DigestMethodType); -void init_iso2TargetPositionType(struct iso2TargetPositionType* iso2TargetPositionType); -void init_iso2LFA_EVFinePositioningParametersType(struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -void init_iso2DC_EVChargeParameterType(struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -void init_iso2ServiceDetailReqType(struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -void init_iso2PreChargeReqType(struct iso2PreChargeReqType* iso2PreChargeReqType); -void init_iso2ManifestType(struct iso2ManifestType* iso2ManifestType); -void init_iso2AnonType_V2G_Message(struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -void init_iso2SelectedServiceListType(struct iso2SelectedServiceListType* iso2SelectedServiceListType); -void init_iso2Generic_EVSEFinePositioningParametersType(struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -void init_iso2CartesianCoordinatesType(struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -void init_iso2KeyInfoType(struct iso2KeyInfoType* iso2KeyInfoType); -void init_iso2SubCertificatesType(struct iso2SubCertificatesType* iso2SubCertificatesType); -void init_iso2ListOfRootCertificateIDsType(struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -void init_iso2EVEnergyTransferParameterType(struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -void init_iso2ContractSignatureEncryptedPrivateKeyType(struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -void init_iso2MagneticVectorSetupListType(struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -void init_iso2PairingReqType(struct iso2PairingReqType* iso2PairingReqType); -void init_iso2CurrentDemandResType(struct iso2CurrentDemandResType* iso2CurrentDemandResType); -void init_iso2X509IssuerSerialType(struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -void init_iso2ChargingStatusReqType(struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -void init_iso2CertificateInstallationResType(struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -void init_iso2SensorPackageType(struct iso2SensorPackageType* iso2SensorPackageType); -void init_iso2PGPDataType(struct iso2PGPDataType* iso2PGPDataType); -void init_iso2ServiceDiscoveryResType(struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -void init_iso2ServiceIDListType(struct iso2ServiceIDListType* iso2ServiceIDListType); -void init_iso2EVFinePositioningSetupParametersType(struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -void init_iso2ChargeParameterDiscoveryResType(struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -void init_iso2PowerDemandResType(struct iso2PowerDemandResType* iso2PowerDemandResType); -void init_iso2ChargingProfileType(struct iso2ChargingProfileType* iso2ChargingProfileType); -void init_iso2FinePositioningReqType(struct iso2FinePositioningReqType* iso2FinePositioningReqType); -void init_iso2SalesTariffType(struct iso2SalesTariffType* iso2SalesTariffType); -void init_iso2SensorType(struct iso2SensorType* iso2SensorType); -void init_iso2SignatureValueType(struct iso2SignatureValueType* iso2SignatureValueType); -void init_iso2SignedInfoType(struct iso2SignedInfoType* iso2SignedInfoType); -void init_iso2PowerDeliveryResType(struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -void init_iso2CableCheckReqType(struct iso2CableCheckReqType* iso2CableCheckReqType); -void init_iso2SelectedServiceType(struct iso2SelectedServiceType* iso2SelectedServiceType); -void init_iso2DiffieHellmanPublickeyType(struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -void init_iso2EVSEStatusType(struct iso2EVSEStatusType* iso2EVSEStatusType); - - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.c b/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.c deleted file mode 100644 index b7bd293..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.c +++ /dev/null @@ -1,86541 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso2EXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "iso2EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso2_DATATYPES_DECODER_C -#define EXI_iso2_DATATYPES_DECODER_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType); -static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType); -static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType); -static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType); -static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType); -static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType); -static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType); -static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType); -static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType); -static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType); -static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType); -static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType); -static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType); -static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType); -static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType); -static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType); -static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType); -static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType); -static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType); -static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType); -static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType); -static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType); -static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType); -static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType); -static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType); -static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType); -static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType); -static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType); -static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType); -static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType); -static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType); -static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType); -static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType); -static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType); -static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType); -static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType); -static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType); -static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType); -static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType); -static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType); -static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType); -static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType); -static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType); -static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType); -static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType); -static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType); -static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType); -static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType); -static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType); -static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType); -static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType); -static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType); -static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType); -static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType); -static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType); -static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType); -static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType); -static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType); -static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType); -static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType); -static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType); -static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType); -static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType); -static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType); -static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType); -static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType); -static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType); -static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType); -static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType); -static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType); -static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType); -static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType); -static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType); -static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType); -static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType); -static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType); -static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='http://www.w3.org/2000/09/xmldsig#,RetrievalMethodType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - int grammarID = 0; - int done = 0; - - init_iso2RetrievalMethodType(iso2RetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->Type.charactersLen >= 2) { - iso2RetrievalMethodType->Type.charactersLen = (uint16_t)(iso2RetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->Type.charactersLen, iso2RetrievalMethodType->Type.characters, iso2RetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->Type_isUsed = 1u; - grammarID = 1; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->URI.charactersLen >= 2) { - iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->URI_isUsed = 1u; - grammarID = 2; - break; - case 2: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->URI.charactersLen >= 2) { - iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->URI_isUsed = 1u; - grammarID = 2; - break; - case 1: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType) { - int grammarID = 5; - int done = 0; - - init_iso2AuthorizationResType(iso2AuthorizationResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AuthorizationResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AuthorizationResType->EVSEStatus); - iso2AuthorizationResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetupList{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - int grammarID = 8; - int done = 0; - - init_iso2MV_EVSEFinePositioningSetupParametersType(iso2MV_EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel); - iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 9; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509DataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial|"http://www.w3.org/2000/09/xmldsig#":X509SKI|"http://www.w3.org/2000/09/xmldsig#":X509SubjectName|"http://www.w3.org/2000/09/xmldsig#":X509Certificate|"http://www.w3.org/2000/09/xmldsig#":X509CRL|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType) { - int grammarID = 10; - int done = 0; - - init_iso2X509DataType(iso2X509DataType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); - } - iso2X509DataType->X509SKI.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2X509DataType->X509SubjectName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); - } - iso2X509DataType->X509Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); - } - iso2X509DataType->X509CRL.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 11; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); - } - iso2X509DataType->X509SKI.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2X509DataType->X509SubjectName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); - } - iso2X509DataType->X509Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); - } - iso2X509DataType->X509CRL.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 11; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - int grammarID = 12; - int done = 0; - - init_iso2RSAKeyValueType(iso2RSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 12: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (iso2RSAKeyValueType->Modulus.bytesLen) <= iso2RSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2RSAKeyValueType->Modulus.bytesLen, iso2RSAKeyValueType->Modulus.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 13; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (iso2RSAKeyValueType->Exponent.bytesLen) <= iso2RSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2RSAKeyValueType->Exponent.bytesLen, iso2RSAKeyValueType->Exponent.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMinimumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - int grammarID = 14; - int done = 0; - - init_iso2DC_BidirectionalControlResType(iso2DC_BidirectionalControlResType); - - while(!done) { - switch(grammarID) { - case 14: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2DC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 15; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2DC_BidirectionalControlResType->EVSEStatus); - iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; - grammarID = 16; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentVoltage); - grammarID = 18; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEPowerLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSECurrentLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 20; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEVoltageLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 21; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 1u; - grammarID = 22; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; - grammarID = 23; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 6: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; - grammarID = 23; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 5: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 4: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2DC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":costKind,"urn:iso:15118:2:2016:MsgDataTypes":amount)', derivedBy='RESTRICTION'. */ -static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType) { - int grammarID = 31; - int done = 0; - - init_iso2CostType(iso2CostType); - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CostType->costKind = (iso2costKindType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 32; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CostType->amount); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":EVSETargetPower{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - int grammarID = 33; - int done = 0; - - init_iso2ChargingStatusResType(iso2ChargingStatusResType); - - while(!done) { - switch(grammarID) { - case 33: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ChargingStatusResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 34; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ChargingStatusResType->EVSEStatus); - iso2ChargingStatusResType->EVSEStatus_isUsed = 1u; - grammarID = 35; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2ChargingStatusResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 37; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); - iso2ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 38; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); - iso2ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 38; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeterID,"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingCharged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingDischarged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType) { - int grammarID = 40; - int done = 0; - - init_iso2MeterInfoType(iso2MeterInfoType); - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->MeterID.charactersLen); - if (errn == 0) { - if (iso2MeterInfoType->MeterID.charactersLen >= 2) { - iso2MeterInfoType->MeterID.charactersLen = (uint16_t)(iso2MeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MeterInfoType->MeterID.charactersLen, iso2MeterInfoType->MeterID.characters, iso2MeterInfoType_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 41; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingCharged); - iso2MeterInfoType->MeterReadingCharged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); - iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); - iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - int grammarID = 46; - int done = 0; - - init_iso2AC_EVChargeParameterType(iso2AC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 46: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2AC_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargePower); - grammarID = 48; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumChargeCurrent); - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVTargetEnergyRequest); - iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 51; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 52; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 52; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEBidirectionalParameterType', base type name='AC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - int grammarID = 54; - int done = 0; - - init_iso2AC_EVSEBidirectionalParameterType(iso2AC_EVSEBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); - grammarID = 55; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalVoltage); - grammarID = 56; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); - grammarID = 57; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - int grammarID = 59; - int done = 0; - - init_iso2VehicleCheckOutResType(iso2VehicleCheckOutResType); - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2VehicleCheckOutResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 60; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckOutResType->EVSEStatus); - iso2VehicleCheckOutResType->EVSEStatus_isUsed = 1u; - grammarID = 61; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVector{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - int grammarID = 62; - int done = 0; - - init_iso2MagneticVectorListType(iso2MagneticVectorListType); - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 63; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 64; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 65; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 67; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 68; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 69; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 71; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 72; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 73; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 75; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 76; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 78; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 79; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 80; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 81; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 82; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 82: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 83; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 84; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 85; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 86; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 87; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 88; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 89; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 90; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 91; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 92; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 93; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 94; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 95; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 96; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 97; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 98; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 99; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 213; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 215; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 216; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 217; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 218; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 220; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 221; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 245; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 246; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 247; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 248; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 249; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 250; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 251; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 252; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 253; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 254; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 255; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 257; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 258; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 259; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 260; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 261; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 262; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 263; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 264; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 265; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 266; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 267; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 268; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 269; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 270; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 271; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 272; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 273; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 274; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 275; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 276; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 277; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 278; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 279; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 280; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 281; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 282; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 283; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 284; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 285; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 287; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 288; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 289; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 290; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 291; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 292; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 293; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 294; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 295; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 296; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 297; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 298; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 299; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 300; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 301; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 302; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 303; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 304; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 305; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 306; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 307; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 308; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 309; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 310; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 311; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 312; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 313; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 314; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 315; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 316; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType) { - int grammarID = 5; - int done = 0; - - init_iso2CableCheckResType(iso2CableCheckResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CableCheckResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CableCheckResType->EVSEStatus); - iso2CableCheckResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SupportedServiceIDs{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - int grammarID = 317; - int done = 0; - - init_iso2ServiceDiscoveryReqType(iso2ServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 317: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceIDListType(stream, &iso2ServiceDiscoveryReqType->SupportedServiceIDs); - iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType) { - int grammarID = 318; - int done = 0; - - init_iso2ServiceType(iso2ServiceType); - - while(!done) { - switch(grammarID) { - case 318: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 319; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ServiceType->FreeService); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSet{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - int grammarID = 320; - int done = 0; - - init_iso2ServiceParameterListType(iso2ServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 320: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 321; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 322; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 323; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 324; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 325; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 326; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 327; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 328; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 329; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 330; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 331; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 332; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 333; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 334; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 335; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 336; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 337; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 338; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 339; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 340; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 341; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 342; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 343; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 344; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 345; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 346; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 347; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 348; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 349; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 350; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 352; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 353; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 354; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 355; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 357; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 358; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 359; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 360; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 361; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 362; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 363; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 364; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 365; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 366; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 367; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 368; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 370; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 371; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 372; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 373; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 374; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 375; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 376; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 377; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 378; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 379; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 380; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 381; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 382; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 383; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 384; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 385; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 386; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 387; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 388; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 389; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 390; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 391; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 392; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 393; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 394; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 395; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 396; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 397; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 398; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 399; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 400; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 401; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 402; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 403; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 404; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 405; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 406; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 407; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 408; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 409; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 410; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 411; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 412; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 413; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 414; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 415; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 416; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 417; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 418; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 419; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 420; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 421; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 422; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 423; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 424; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 425; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 426; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 427; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 428; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 429; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 430; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 431; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 432; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 433; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 434; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 435; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 436; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 437; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 438; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 439; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 440; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 441; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 442; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 443; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 444; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 445; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 446; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 447; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 448; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 449; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 450; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 451; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 452; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 453; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 454; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 455; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 456; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 457; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 458; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 459; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 460; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 461; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 462; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 463; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 464; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 465; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 466; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 467; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 468; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 469; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 470; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 471; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 472; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 473; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 474; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 475; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 476; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 477; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 478; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 479; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 480; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 481; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 482; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 483; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 484; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 485; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 486; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 487; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 488; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 489; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 490; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 491; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 492; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 493; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 494; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 495; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 496; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 497; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 498; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 499; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 500; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 501; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 502; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 503; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 504; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 505; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 506; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 507; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 508; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 509; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 510; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 511; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 512; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 513; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 514; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 515; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 516; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 517; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 518; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 519; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 520; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 521; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 522; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 523; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 524; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 525; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 526; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 527; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 528; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 529; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 530; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 531; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 532; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 533; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 534; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 555; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 556; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 558; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 559; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 560; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 561; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 562; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 563; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 564; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 565; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 566; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 567; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 568; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 569; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 570; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 571; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 572; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 573; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 574; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - int grammarID = 575; - int done = 0; - - init_iso2PMaxScheduleType(iso2PMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 575: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 576; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 576; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertiesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignatureProperty{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - int grammarID = 577; - int done = 0; - - init_iso2SignaturePropertiesType(iso2SignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 577: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertiesType->Id.charactersLen >= 2) { - iso2SignaturePropertiesType->Id.charactersLen = (uint16_t)(iso2SignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertiesType->Id.charactersLen, iso2SignaturePropertiesType->Id.characters, iso2SignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertiesType->Id_isUsed = 1u; - grammarID = 578; - break; - case 1: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 578: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 579: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":PMax{1-3}))', derivedBy='EXTENSION'. */ -static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - int grammarID = 580; - int done = 0; - - init_iso2PMaxScheduleEntryType(iso2PMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 580: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2PMaxScheduleEntryType->RelativeTimeInterval); - grammarID = 581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 582; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 583; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignedInfo,"http://www.w3.org/2000/09/xmldsig#":SignatureValue,"http://www.w3.org/2000/09/xmldsig#":KeyInfo{0-1},"http://www.w3.org/2000/09/xmldsig#":Object{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType) { - int grammarID = 584; - int done = 0; - - init_iso2SignatureType(iso2SignatureType); - - while(!done) { - switch(grammarID) { - case 584: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureType->Id.charactersLen); - if (errn == 0) { - if (iso2SignatureType->Id.charactersLen >= 2) { - iso2SignatureType->Id.charactersLen = (uint16_t)(iso2SignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureType->Id.charactersLen, iso2SignatureType->Id.characters, iso2SignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureType->Id_isUsed = 1u; - grammarID = 585; - break; - case 1: - errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); - grammarID = 586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 585: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); - grammarID = 586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 586: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureValueType(stream, &iso2SignatureType->SignatureValue); - grammarID = 587; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 587: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2KeyInfoType(stream, &iso2SignatureType->KeyInfo); - iso2SignatureType->KeyInfo_isUsed = 1u; - grammarID = 588; - break; - case 1: - if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 588; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 588: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 588; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckInStatus,"urn:iso:15118:2:2016:MsgBody":ParkingMethod{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - int grammarID = 589; - int done = 0; - - init_iso2VehicleCheckInReqType(iso2VehicleCheckInReqType); - - while(!done) { - switch(grammarID) { - case 589: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckInReqType->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 590; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckInReqType->ParkingMethod = (iso2parkingMethodType) uint32; - iso2VehicleCheckInReqType->ParkingMethod_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - init_iso2ConnectChargingDeviceResType(iso2ConnectChargingDeviceResType); - - while(!done) { - switch(grammarID) { - case 591: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ConnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ConnectChargingDeviceResType->EVSEStatus); - iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 1u; - grammarID = 593; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2ConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - int grammarID = 596; - int done = 0; - - init_iso2WeldingDetectionResType(iso2WeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 596: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2WeldingDetectionResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 597; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2WeldingDetectionResType->EVSEStatus); - iso2WeldingDetectionResType->EVSEStatus_isUsed = 1u; - grammarID = 598; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType) { - int grammarID = 599; - int done = 0; - - init_iso2SessionStopResType(iso2SessionStopResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SessionStopResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SessionStopResType->EVSEStatus); - iso2SessionStopResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":VehicleSpace,"urn:iso:15118:2:2016:MsgBody":TargetOffset{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - int grammarID = 601; - int done = 0; - - init_iso2VehicleCheckInResType(iso2VehicleCheckInResType); - - while(!done) { - switch(grammarID) { - case 601: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2VehicleCheckInResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 602; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckInResType->EVSEStatus); - iso2VehicleCheckInResType->EVSEStatus_isUsed = 1u; - grammarID = 603; - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TargetPositionType(stream, &iso2VehicleCheckInResType->TargetOffset); - iso2VehicleCheckInResType->TargetOffset_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType) { - int grammarID = 605; - int done = 0; - - init_iso2ServiceListType(iso2ServiceListType); - - while(!done) { - switch(grammarID) { - case 605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 606; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 607; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 608; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 609; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 610; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 611; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 612; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":RetryCounter{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - int grammarID = 613; - int done = 0; - - init_iso2CertificateUpdateResType(iso2CertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 613: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CertificateUpdateResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 614; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CertificateUpdateResType->EVSEStatus); - iso2CertificateUpdateResType->EVSEStatus_isUsed = 1u; - grammarID = 615; - break; - case 1: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 616; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 616; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->ContractSignatureCertChain); - grammarID = 617; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateUpdateResType->ContractSignatureEncryptedPrivateKey); - grammarID = 618; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateUpdateResType->DHpublickey); - grammarID = 619; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EMAIDType(stream, &iso2CertificateUpdateResType->eMAID); - grammarID = 620; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CertificateUpdateResType->RetryCounter); - iso2CertificateUpdateResType->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningSetupParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - int grammarID = 621; - int done = 0; - - init_iso2FinePositioningSetupResType(iso2FinePositioningSetupResType); - - while(!done) { - switch(grammarID) { - case 621: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2FinePositioningSetupResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 622; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningSetupResType->EVSEStatus); - iso2FinePositioningSetupResType->EVSEStatus_isUsed = 1u; - grammarID = 623; - break; - case 1: - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVBidirectionalParameterType', base type name='AC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage)),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - int grammarID = 624; - int done = 0; - - init_iso2AC_EVBidirectionalParameterType(iso2AC_EVBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 624: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2AC_EVBidirectionalParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 625; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargePower); - grammarID = 626; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 627; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumChargeCurrent); - grammarID = 628; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 629; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 630; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 630; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargePower); - grammarID = 633; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 634; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - int grammarID = 635; - int done = 0; - - init_iso2DC_BidirectionalControlReqType(iso2DC_BidirectionalControlReqType); - - while(!done) { - switch(grammarID) { - case 635: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetEnergyRequest); - grammarID = 636; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 637; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 638; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 638; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetVoltage); - grammarID = 641; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumVoltage); - grammarID = 642; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumVoltage); - grammarID = 643; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 644; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent); - iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; - grammarID = 645; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 646; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 646; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - int grammarID = 647; - int done = 0; - - init_iso2CertificateUpdateReqType(iso2CertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 647: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateUpdateReqType->Id.charactersLen >= 2) { - iso2CertificateUpdateReqType->Id.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateUpdateReqType->Id.charactersLen, iso2CertificateUpdateReqType->Id.characters, iso2CertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 648; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 648: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 649; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso2CertificateUpdateReqType->eMAID.charactersLen >= 2) { - iso2CertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateUpdateReqType->eMAID.charactersLen, iso2CertificateUpdateReqType->eMAID.characters, iso2CertificateUpdateReqType_eMAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 650; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":startValue,"urn:iso:15118:2:2016:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - int grammarID = 651; - int done = 0; - - init_iso2ConsumptionCostType(iso2ConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 651: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ConsumptionCostType->startValue); - grammarID = 652; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 653; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 654; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType) { - int grammarID = 655; - int done = 0; - - init_iso2SAScheduleListType(iso2SAScheduleListType); - - while(!done) { - switch(grammarID) { - case 655: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 656; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 657; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel)', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - int grammarID = 658; - int done = 0; - - init_iso2MagneticVectorSetupType(iso2MagneticVectorSetupType); - - while(!done) { - switch(grammarID) { - case 658: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorSetupType->GAID.charactersLen); - if (errn == 0) { - if (iso2MagneticVectorSetupType->GAID.charactersLen >= 2) { - iso2MagneticVectorSetupType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorSetupType->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MagneticVectorSetupType->GAID.charactersLen, iso2MagneticVectorSetupType->GAID.characters, iso2MagneticVectorSetupType_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 659; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2MagneticVectorSetupType->FrequencyChannel); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset,"urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - int grammarID = 660; - int done = 0; - - init_iso2LFA_EVSEFinePositioningSetupParametersType(iso2LFA_EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 660: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 661; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorList); - grammarID = 662; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorOrder); - grammarID = 663; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 664; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 665; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 666; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 667; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SignalFrequency); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ -static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - int grammarID = 668; - int done = 0; - - init_iso2PaymentOptionListType(iso2PaymentOptionListType); - - while(!done) { - switch(grammarID) { - case 668: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; - iso2PaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 669; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; - iso2PaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - init_iso2LFA_EVSEFinePositioningParametersType(iso2LFA_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 670: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 671; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVSEFinePositioningParametersType->SensorPackageList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,RelativeTimeIntervalType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":start,"urn:iso:15118:2:2016:MsgDataTypes":duration{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - int grammarID = 672; - int done = 0; - - init_iso2RelativeTimeIntervalType(iso2RelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 672: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->start); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 673; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->duration); - iso2RelativeTimeIntervalType->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVFinePositioningParametersType(iso2EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - int grammarID = 675; - int done = 0; - - init_iso2AlignmentCheckReqType(iso2AlignmentCheckReqType); - - while(!done) { - switch(grammarID) { - case 675: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckReqType->AlignmentCheckParameters); - iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - int grammarID = 677; - int done = 0; - - init_iso2CertificateInstallationReqType(iso2CertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 677: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateInstallationReqType->Id.charactersLen >= 2) { - iso2CertificateInstallationReqType->Id.charactersLen = (uint16_t)(iso2CertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateInstallationReqType->Id.charactersLen, iso2CertificateInstallationReqType->Id.characters, iso2CertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 678; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 678: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= iso2CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen, iso2CertificateInstallationReqType->OEMProvisioningCert.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 650; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType) { - int grammarID = 679; - int done = 0; - - init_iso2TransformsType(iso2TransformsType); - - while(!done) { - switch(grammarID) { - case 679: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 680; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 680: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 680; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ObjectType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any])){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType) { - int grammarID = 681; - int done = 0; - - init_iso2ObjectType(iso2ObjectType); - - while(!done) { - switch(grammarID) { - case 681: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Encoding.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Encoding.charactersLen >= 2) { - iso2ObjectType->Encoding.charactersLen = (uint16_t)(iso2ObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Encoding.charactersLen, iso2ObjectType->Encoding.characters, iso2ObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Encoding_isUsed = 1u; - grammarID = 682; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Id.charactersLen >= 2) { - iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Id_isUsed = 1u; - grammarID = 683; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 4: - done = 1; - grammarID = 4; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 682: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Id.charactersLen >= 2) { - iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Id_isUsed = 1u; - grammarID = 683; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 3: - done = 1; - grammarID = 4; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 683: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType) { - int grammarID = 686; - int done = 0; - - init_iso2SensorOrderListType(iso2SensorOrderListType); - - while(!done) { - switch(grammarID) { - case 686: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 687; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 688; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 689; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 690; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 691; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 692; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 693; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 694; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 695; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 696; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 697; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 698; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 699; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 700; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 701; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 702; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 703; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 704; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 705; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 706; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 707; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 708; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 709; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 710; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 711; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 712; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 713; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 714; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 715; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 716; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 717; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 718; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 719; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 720; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 721; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 722; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 723; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 724; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 725; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 726; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 727; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 728; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 729; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 730; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 731; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 732; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 733; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 734; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 735; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 736; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 737; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 738; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 739; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 740; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 741; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 742; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 743; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 744; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 745; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 746; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 747; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 748; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 749; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 750; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 751; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 752; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 753; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 754; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 755; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 756; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 757; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 758; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 759; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 760; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 761; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 762; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 763; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 764; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 765; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 766; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 767; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 768; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 769; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 770; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 771; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 772; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 773; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 774; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 775; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 776; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 777; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 778; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 779; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 780; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 781; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 782; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 783; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 784; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 785; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 786; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 787; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 788; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 788: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 789; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 790; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 791; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 792; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 793; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 794; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 795; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 796; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 797; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 797: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 798; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 798: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 799; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 800; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 801; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 802; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 803; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 804; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 805; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 805: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 806; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 807; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 808; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 809; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 810; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 810: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 811; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 812; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 812: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 813; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 814; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 816; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 816: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 817; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 818; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 820; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 820: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 821; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 822; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 824; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 824: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 825; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 826; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 828; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 828: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 829; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 829: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 830; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 830: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 831; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 832; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 833; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 834; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 835; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 836; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 837; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 838; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 839; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 840; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 841; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 842; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 843; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 844; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 845; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 846; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 847; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 847: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 848: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 849; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 849: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 850; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 850: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 851; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 852; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 854; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 854: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 855; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 855: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 856; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 856: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 857; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 857: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 858; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 859; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 861; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 862; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 862: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 863; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 864; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 864: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 865; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 866; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 867; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 867: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 868; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 869; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 870; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 871; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 872; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 874; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 874: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 875; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 876; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 877; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 877: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 878; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 878: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 879; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 880; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 880: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 881; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 881: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 882; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 883; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 883: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 884; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 885; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 886; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 887; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 888; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 888: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 889; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 890; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 891; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 892; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 893; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 894; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 895; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 896; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 897; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 898; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 899; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 899: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 900; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 900: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 901; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 906; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 912; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 912: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 913; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 914; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 915; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 916; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 917; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 918; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 919; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 920; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 921; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 925; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 926; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 927; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 928; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 929; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 930; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 930: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 931; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 932; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 933; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 933: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 934; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 935; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 936; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 937; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 938; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 938: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 939; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 940; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 940: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":MaxSupportingPoints{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVEnergyTransferParameter,"urn:iso:15118:2:2016:MsgBody":MinimumPMaxRequest{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - int grammarID = 941; - int done = 0; - - init_iso2ChargeParameterDiscoveryReqType(iso2ChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints = (uint16_t)(uint32 + 12); - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 942; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 2: - errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 3: - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 4: - errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 5: - errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; - grammarID = 943; - break; - case 6: - errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 1: - errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 2: - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 3: - errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 4: - errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; - grammarID = 943; - break; - case 5: - errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MinimumPMaxRequestType(stream, &iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest); - iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":boolValue|"urn:iso:15118:2:2016:MsgDataTypes":byteValue|"urn:iso:15118:2:2016:MsgDataTypes":shortValue|"urn:iso:15118:2:2016:MsgDataTypes":intValue|"urn:iso:15118:2:2016:MsgDataTypes":physicalValue|"urn:iso:15118:2:2016:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType) { - int grammarID = 944; - int done = 0; - - init_iso2ParameterType(iso2ParameterType); - - while(!done) { - switch(grammarID) { - case 944: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Name)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ParameterType->Name.charactersLen); - if (errn == 0) { - if (iso2ParameterType->Name.charactersLen >= 2) { - iso2ParameterType->Name.charactersLen = (uint16_t)(iso2ParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ParameterType->Name.charactersLen, iso2ParameterType->Name.characters, iso2ParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 945; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 945: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ParameterType->boolValue); - iso2ParameterType->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2ParameterType->byteValue = (int8_t)(uint32 -128); - iso2ParameterType->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2ParameterType->shortValue); - iso2ParameterType->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &iso2ParameterType->intValue); - iso2ParameterType->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ParameterType->physicalValue); - iso2ParameterType->physicalValue_isUsed = 1u; - grammarID = 3; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ParameterType->stringValue.charactersLen); - if (errn == 0) { - if (iso2ParameterType->stringValue.charactersLen >= 2) { - iso2ParameterType->stringValue.charactersLen = (uint16_t)(iso2ParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ParameterType->stringValue.charactersLen, iso2ParameterType->stringValue.characters, iso2ParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ParameterType->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ -static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType) { - int grammarID = 946; - int done = 0; - - init_iso2SessionStopReqType(iso2SessionStopReqType); - - while(!done) { - switch(grammarID) { - case 946: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SessionStopReqType->ChargingSession = (iso2chargingSessionType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorMeasurementsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower,"urn:iso:15118:2:2016:MsgDataTypes":MeasurementDataList)', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - int grammarID = 947; - int done = 0; - - init_iso2SensorMeasurementsType(iso2SensorMeasurementsType); - - while(!done) { - switch(grammarID) { - case 947: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorMeasurementsType->SensorID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 948; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorMeasurementsType->EffectiveRadiatedPower = (int8_t)(uint32 -128); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 949; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeasurementDataListType(stream, &iso2SensorMeasurementsType->MeasurementDataList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - int grammarID = 950; - int done = 0; - - init_iso2DC_EVSEChargeParameterType(iso2DC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 950: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargePower); - grammarID = 951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); - grammarID = 952; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumChargeCurrent); - grammarID = 953; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumVoltage); - grammarID = 954; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumVoltage); - grammarID = 955; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 956; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 957; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 957; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPackage{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType) { - int grammarID = 958; - int done = 0; - - init_iso2SensorPackageListType(iso2SensorPackageListType); - - while(!done) { - switch(grammarID) { - case 958: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 959; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 959: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 960; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 960: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 961; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 962; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 962: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 963; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 963: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 964: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 965; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 965: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 966; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 967; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 967: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 968; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 969; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 970; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 971; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 972; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 973; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 974; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 975; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 976; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 977; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 978; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 979; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 980; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 981; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 982; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 983; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 983: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 984; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 985; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 986; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 986: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 987; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 987: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 988; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 988: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 989; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 989: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 990; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 990: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 991; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 992; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 993; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 994; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 994: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 995; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 996; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 997; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 998; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 999; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1000; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1001; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1002; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1003; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1004; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1005; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1006; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1007; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1008; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1009; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1010; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1011; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1012; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1013; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1014; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1014: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1015; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1015: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1016; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1016: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1017; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1017: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1018; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1019; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1020; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1021; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1022; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1023; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1024; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1025; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1026; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1027; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1028; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1029; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1030; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1031; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1032; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1033; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1034; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1035; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1036; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1037; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1038; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1039; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1040; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1041; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1042; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1043; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1044; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1045; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1046; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1047; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1048; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1049; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1050; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1051; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1052; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1053; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1054; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1055; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1056; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1057; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1058; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1059; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1060; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1061; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1062; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1063; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1064; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1065; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1066; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1067; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1068; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1069; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1070; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1071; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1072; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1073; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1074; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1075; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1076; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1077; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1078; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1079; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1080; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1081; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1082; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1083; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1084; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1085; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1086; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1087; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1088; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1089; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1090; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1091; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1092; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1093; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1094; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1095; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1096; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1097; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1098; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1099; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - int grammarID = 1213; - int done = 0; - - init_iso2MeasurementDataListType(iso2MeasurementDataListType); - - while(!done) { - switch(grammarID) { - case 1213: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1215; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1216; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1217; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1220; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1221; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1223; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1224; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1225; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1226; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1227; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1228; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1229; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1230; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1231; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1232; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1233; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1234; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1235; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1236; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1237; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1239; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1240; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1241; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1242; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1243; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1244; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1245; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1246; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1247; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1248; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1249; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1250; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1251; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1252; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1253; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1254; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1256; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1257; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1258; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1260; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1261; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1262; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1263; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1265; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1266; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1267; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1268; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1269; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1270; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1271; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1272; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1273; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1274; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1275; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1276; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1277; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1279; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1281; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1282; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1283; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1285; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1286; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1287; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1288; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1290; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1291; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1292; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1293; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1294; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1295; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1296; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1297; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1298; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1299; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1301; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1302; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1303; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1304; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1305; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1306; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1307; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1308; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1309; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1310; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1311; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1312; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1313; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1314; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1315; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1316; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1317; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1318; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1319; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1320; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1321; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1322; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1323; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1324; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1325; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1326; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1327; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1329; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1330; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1331; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1332; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1333; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1335; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1336; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1337; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1338; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1339; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1340; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1341; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1342; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1343; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1344; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1345; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1346; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1347; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1349; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1350; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1351; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1352; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1353; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1354; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1355; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1356; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1357; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1358; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1359; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1360; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1361; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1362; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1363; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1364; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1365; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1366; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1367; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1368; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1369; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1370; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1371; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1372; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1373; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1374; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1375; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1376; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1377; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1378; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1379; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1380; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1381; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1382; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1383; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1384; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1385; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1386; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1387; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1388; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1389; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1390; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1391; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1392; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1393; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1394; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1395; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1396; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1397; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1398; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1399; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1400; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1401; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1402; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1403; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1404; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1405; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1406; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1407; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1408; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1409; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1410; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1411; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1412; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1413; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1414; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1415; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1416; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1417; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1418; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1419; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1420; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1421; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1422; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1423; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1424; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1425; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1426; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1427; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1428; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1429; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1430; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1431; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1432; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1433; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1434; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1435; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1436; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1437; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1438; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1439; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1440; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1441; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1442; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1443; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1444; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1445; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1446; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1447; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1448; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1449; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1450; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1451; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1452; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1453; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1454; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1455; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1456; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1457; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1458; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1459; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1460; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1461; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1462; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1463; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1464; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1465; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1466; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1467; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate,"urn:iso:15118:2:2016:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType) { - int grammarID = 1468; - int done = 0; - - init_iso2CertificateChainType(iso2CertificateChainType); - - while(!done) { - switch(grammarID) { - case 1468: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateChainType->Id.charactersLen >= 2) { - iso2CertificateChainType->Id.charactersLen = (uint16_t)(iso2CertificateChainType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateChainType->Id.charactersLen, iso2CertificateChainType->Id.characters, iso2CertificateChainType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CertificateChainType->Id_isUsed = 1u; - grammarID = 1469; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1470; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1469: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1470; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SubCertificatesType(stream, &iso2CertificateChainType->SubCertificates); - iso2CertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - int grammarID = 1471; - int done = 0; - - init_iso2SignaturePropertyType(iso2SignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 1471: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Id.charactersLen >= 2) { - iso2SignaturePropertyType->Id.charactersLen = (uint16_t)(iso2SignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Id.charactersLen, iso2SignaturePropertyType->Id.characters, iso2SignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->Id_isUsed = 1u; - grammarID = 1472; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Target.charactersLen >= 2) { - iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1473; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1472: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Target.charactersLen >= 2) { - iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1473; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1473: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 1474; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1474: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 1474; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])|"http://www.w3.org/2000/09/xmldsig#":XPath){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType) { - int grammarID = 1475; - int done = 0; - - init_iso2TransformType(iso2TransformType); - - while(!done) { - switch(grammarID) { - case 1475: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2TransformType->Algorithm.charactersLen >= 2) { - iso2TransformType->Algorithm.charactersLen = (uint16_t)(iso2TransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->Algorithm.charactersLen, iso2TransformType->Algorithm.characters, iso2TransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1476; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1476: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { - iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->XPath.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1477; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1477; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso2TransformType->ANY.charactersLen >= 2) { - iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->ANY_isUsed = 1u; - grammarID = 1477; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1477: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { - iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->XPath.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1477; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1477; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso2TransformType->ANY.charactersLen >= 2) { - iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->ANY_isUsed = 1u; - grammarID = 1477; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType) { - int grammarID = 1478; - int done = 0; - - init_iso2EMAIDType(iso2EMAIDType); - - while(!done) { - switch(grammarID) { - case 1478: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->Id.charactersLen); - if (errn == 0) { - if (iso2EMAIDType->Id.charactersLen >= 2) { - iso2EMAIDType->Id.charactersLen = (uint16_t)(iso2EMAIDType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2EMAIDType->Id.charactersLen, iso2EMAIDType->Id.characters, iso2EMAIDType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1479; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1479: - /* StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->CONTENT.charactersLen); - if (errn == 0) { - if (iso2EMAIDType->CONTENT.charactersLen >= 2) { - iso2EMAIDType->CONTENT.charactersLen = (uint16_t)(iso2EMAIDType->CONTENT.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2EMAIDType->CONTENT.charactersLen, iso2EMAIDType->CONTENT.characters, iso2EMAIDType_CONTENT_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - int grammarID = 1480; - int done = 0; - - init_iso2DSAKeyValueType(iso2DSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 1480: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->P.bytesLen) <= iso2DSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->P.bytesLen, iso2DSAKeyValueType->P.bytes); - } - iso2DSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1481; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); - } - iso2DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1482; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1481: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Q.bytesLen) <= iso2DSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Q.bytesLen, iso2DSAKeyValueType->Q.bytes); - } - iso2DSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1484; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1484: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); - } - iso2DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1482; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1482: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1483: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->J.bytesLen) <= iso2DSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->J.bytesLen, iso2DSAKeyValueType->J.bytes); - } - iso2DSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1485; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); - } - iso2DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1486; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1485: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); - } - iso2DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1486; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1486: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->PgenCounter.bytesLen) <= iso2DSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->PgenCounter.bytesLen, iso2DSAKeyValueType->PgenCounter.bytes); - } - iso2DSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval)', derivedBy='RESTRICTION'. */ -static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType) { - int grammarID = 1487; - int done = 0; - - init_iso2EntryType(iso2EntryType); - - while(!done) { - switch(grammarID) { - case 1487: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2EntryType->RelativeTimeInterval); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgHeader":SessionID,"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType) { - int grammarID = 1488; - int done = 0; - - init_iso2MessageHeaderType(iso2MessageHeaderType); - - while(!done) { - switch(grammarID) { - case 1488: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso2MessageHeaderType->SessionID.bytesLen) <= iso2MessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MessageHeaderType->SessionID.bytesLen, iso2MessageHeaderType->SessionID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1489; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1489: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureType(stream, &iso2MessageHeaderType->Signature); - iso2MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - int grammarID = 1490; - int done = 0; - - init_iso2WPT_EVChargeParameterType(iso2WPT_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1490: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2WPT_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1491; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumPower); - grammarID = 1492; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumPower); - grammarID = 1493; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVTargetEnergyRequest); - iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1494; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1495; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1495; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - init_iso2DisconnectChargingDeviceReqType(iso2DisconnectChargingDeviceReqType); - - while(!done) { - switch(grammarID) { - case 1496: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2DisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeLoopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - int grammarID = 1498; - int done = 0; - - init_iso2ChargeLoopReqType(iso2ChargeLoopReqType); - - while(!done) { - switch(grammarID) { - case 1498: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVTargetEnergyRequest); - grammarID = 1499; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMaximumEnergyRequest); - iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1500; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1501; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1501; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GRequestType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType) { - int grammarID = 674; - int done = 0; - - init_iso2V2GRequestType(iso2V2GRequestType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - int grammarID = 599; - int done = 0; - - init_iso2MeteringReceiptResType(iso2MeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2MeteringReceiptResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2MeteringReceiptResType->EVSEStatus); - iso2MeteringReceiptResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType) { - int grammarID = 1502; - int done = 0; - - init_iso2SessionSetupResType(iso2SessionSetupResType); - - while(!done) { - switch(grammarID) { - case 1502: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SessionSetupResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1503; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SessionSetupResType->EVSEStatus); - iso2SessionSetupResType->EVSEStatus_isUsed = 1u; - grammarID = 1504; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { - iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1505; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { - iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1505; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SessionSetupResType->EVSETimeStamp); - iso2SessionSetupResType->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMinimumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVPresentActivePower,"urn:iso:15118:2:2016:MsgBody":EVPresentReactivePower))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - int grammarID = 1506; - int done = 0; - - init_iso2AC_BidirectionalControlReqType(iso2AC_BidirectionalControlReqType); - - while(!done) { - switch(grammarID) { - case 1506: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVTargetEnergyRequest); - grammarID = 1507; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1508; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1509; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 3: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1509; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 2: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1513; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 1514; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 1514; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent); - iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; - grammarID = 1515; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); - grammarID = 1516; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); - grammarID = 1516; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent); - iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 1u; - grammarID = 1517; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); - grammarID = 1518; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); - grammarID = 1518; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentReactivePower); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorList)', derivedBy='EXTENSION'. */ -static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - int grammarID = 1519; - int done = 0; - - init_iso2MV_EVSEFinePositioningParametersType(iso2MV_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1519: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MagneticVectorListType(stream, &iso2MV_EVSEFinePositioningParametersType->MagneticVectorList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)', derivedBy='RESTRICTION'. */ -static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType) { - int grammarID = 1520; - int done = 0; - - init_iso2ReferenceType(iso2ReferenceType); - - while(!done) { - switch(grammarID) { - case 1520: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Id.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Id.charactersLen >= 2) { - iso2ReferenceType->Id.charactersLen = (uint16_t)(iso2ReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Id.charactersLen, iso2ReferenceType->Id.characters, iso2ReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Id_isUsed = 1u; - grammarID = 1521; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Type.charactersLen >= 2) { - iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Type_isUsed = 1u; - grammarID = 1522; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 3: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 4: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1521: - /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Type.charactersLen >= 2) { - iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Type_isUsed = 1u; - grammarID = 1522; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 2: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 3: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1522: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 1: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 2: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1523: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 1: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1524: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1525: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (iso2ReferenceType->DigestValue.bytesLen) <= iso2ReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2ReferenceType->DigestValue.bytesLen, iso2ReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEEnergyTransferParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEEnergyTransferParameterType(iso2EVSEEnergyTransferParameterType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SessionID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - int grammarID = 1526; - int done = 0; - - init_iso2MeteringReceiptReqType(iso2MeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 1526: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - if (iso2MeteringReceiptReqType->Id.charactersLen >= 2) { - iso2MeteringReceiptReqType->Id.charactersLen = (uint16_t)(iso2MeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MeteringReceiptReqType->Id.charactersLen, iso2MeteringReceiptReqType->Id.characters, iso2MeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1527; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1527: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso2MeteringReceiptReqType->SessionID.bytesLen) <= iso2MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeteringReceiptReqType->SessionID.bytesLen, iso2MeteringReceiptReqType->SessionID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1528; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2MeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1529; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyValueType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":DSAKeyValue|"http://www.w3.org/2000/09/xmldsig#":RSAKeyValue|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))', derivedBy='RESTRICTION'. */ -static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType) { - int grammarID = 1530; - int done = 0; - - init_iso2KeyValueType(iso2KeyValueType); - - while(!done) { - switch(grammarID) { - case 1530: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); - iso2KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 1: - errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); - iso2KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1531; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1532; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1531: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1531; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1532: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); - iso2KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 1: - errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); - iso2KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1531; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1532; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Sensor{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType) { - int grammarID = 1533; - int done = 0; - - init_iso2SensorListType(iso2SensorListType); - - while(!done) { - switch(grammarID) { - case 1533: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1534; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1555; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1556; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1558; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1559; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1560; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1561; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1562; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1563; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1564; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1565; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1566; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1567; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1568; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1569; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1570; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1571; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1572; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1573; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1574; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1575; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1576; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1577; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1578; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1578: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1579; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1580; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1581; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1582; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1583; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1584; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1585; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1585: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1586; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1587; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1587: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1588; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1589; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1589: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1590; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1591; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1592; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1593; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1594; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1595; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1596; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1597; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1598; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1599; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1599: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1600; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1601; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1601: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1602; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1603; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1604; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1605; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1605: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1606; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1607; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1608; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1609; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1610; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1611; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1612; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1613; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1613: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1614; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1615; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1616; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1617; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1618; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1619; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1620; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1621; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1621: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1622; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1623; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1624; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1624: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1625; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1626; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1627; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1628; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1629; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1630; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1631; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1632; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1633; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1634; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1635; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1635: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1636; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1637; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1638; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1639; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1640; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1641; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1642; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1643; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1644; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1645; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1646; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1647; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1647: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1648; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1648: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1649; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1650; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1651; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1651: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1652; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1653; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1654; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1655; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1655: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1656; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1657; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1658; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1658: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1659; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1660; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1660: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1661; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1662; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1663; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1664; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1665; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1666; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1667; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1668; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1668: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1669; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1670; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1670: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1671; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1672; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1672: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1673; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1674; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1674: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1675; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1675: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1676; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1677; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1677: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1678; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1678: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1679; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1679: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1680; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1680: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1681; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1681: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1682; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1682: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1683; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1683: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1684; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1684: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1685; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1685: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1686; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1686: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1687; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1688; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1689; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1690; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1691; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1692; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1693; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1694; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1695; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1696; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1697; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1698; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1699; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1700; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1701; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1702; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1703; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1704; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1705; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1706; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1707; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1708; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1709; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1710; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1711; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1712; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1713; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1714; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1715; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1716; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1717; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1718; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1719; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1720; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1721; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1722; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1723; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1724; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1725; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1726; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1727; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1728; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1729; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1730; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1731; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1732; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1733; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1734; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1735; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1736; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1737; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1738; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1739; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1740; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1741; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1742; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1743; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1744; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1745; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1746; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1747; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1748; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1749; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1750; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1751; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1752; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1753; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1754; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1755; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1756; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1757; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1758; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1759; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1760; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1761; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1762; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1763; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1764; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1765; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1766; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1767; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1768; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1769; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1770; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1771; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1772; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1773; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1774; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1775; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1776; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1777; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1778; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1779; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1780; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1781; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1782; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1783; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1784; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1785; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1786; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1787; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - int grammarID = 1788; - int done = 0; - - init_iso2CurrentDemandReqType(iso2CurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 1788: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetEnergyRequest); - grammarID = 1789; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumEnergyRequest); - iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1790; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1791; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1791; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetVoltage); - grammarID = 1794; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumCurrent); - iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 1u; - grammarID = 1795; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; - grammarID = 1796; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; - grammarID = 1796; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningSetupParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - int grammarID = 1797; - int done = 0; - - init_iso2FinePositioningSetupReqType(iso2FinePositioningSetupReqType); - - while(!done) { - switch(grammarID) { - case 1797: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters); - iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters); - iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningSetupParametersType', base type name='EVFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - int grammarID = 1798; - int done = 0; - - init_iso2LFA_EVFinePositioningSetupParametersType(iso2LFA_EVFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 1798: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1799; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorList); - grammarID = 1800; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorOrder); - grammarID = 1801; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1802; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1803; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1804; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVFinePositioningSetupParametersType->AlignmentOffset); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2016:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2016:MsgDataTypes":PMaxDischargeSchedule{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariff{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BuyBackTariff{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - int grammarID = 1805; - int done = 0; - - init_iso2SAScheduleTupleType(iso2SAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 1805: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SAScheduleTupleType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1806; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxSchedule); - grammarID = 1807; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxDischargeSchedule); - iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 1u; - grammarID = 1808; - break; - case 1: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); - iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 1809; - break; - case 2: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); - iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 1809; - break; - case 1: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumPower)', derivedBy='EXTENSION'. */ -static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - int grammarID = 1810; - int done = 0; - - init_iso2WPT_EVSEChargeParameterType(iso2WPT_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1810: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMaximumPower); - grammarID = 1811; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMinimumPower); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType) { - int grammarID = 1812; - int done = 0; - - init_iso2FinePositioningResType(iso2FinePositioningResType); - - while(!done) { - switch(grammarID) { - case 1812: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2FinePositioningResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1813; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningResType->EVSEStatus); - iso2FinePositioningResType->EVSEStatus_isUsed = 1u; - grammarID = 1814; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->EVSEFinePositioningParameters); - iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->Generic_EVSEFinePositioningParameters); - iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->LFA_EVSEFinePositioningParameters); - iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->MV_EVSEFinePositioningParameters); - iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType) { - int grammarID = 674; - int done = 0; - - init_iso2BodyBaseType(iso2BodyBaseType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":ServiceID,"urn:iso:15118:2:2016:MsgBody":ServiceParameterList{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - int grammarID = 1816; - int done = 0; - - init_iso2ServiceDetailResType(iso2ServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 1816: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ServiceDetailResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1817; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDetailResType->EVSEStatus); - iso2ServiceDetailResType->EVSEStatus_isUsed = 1u; - grammarID = 1818; - break; - case 1: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceParameterListType(stream, &iso2ServiceDetailResType->ServiceParameterList); - iso2ServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargeProgress,"urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":ChargingProfile{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - int grammarID = 1820; - int done = 0; - - init_iso2PowerDeliveryReqType(iso2PowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 1820: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryReqType->ChargeProgress = (iso2chargeProgressType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1821; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PowerDeliveryReqType->EVOperation = (iso2EVOperationType) uint32; - iso2PowerDeliveryReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1822; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType) { - int grammarID = 1824; - int done = 0; - - init_iso2PairingResType(iso2PairingResType); - - while(!done) { - switch(grammarID) { - case 1824: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PairingResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1825; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PairingResType->EVSEStatus); - iso2PairingResType->EVSEStatus_isUsed = 1u; - grammarID = 1826; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PairingResType->PairingParameters); - iso2PairingResType->PairingParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - int grammarID = 1828; - int done = 0; - - init_iso2AuthorizationReqType(iso2AuthorizationReqType); - - while(!done) { - switch(grammarID) { - case 1828: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->Id.charactersLen); - if (errn == 0) { - if (iso2AuthorizationReqType->Id.charactersLen >= 2) { - iso2AuthorizationReqType->Id.charactersLen = (uint16_t)(iso2AuthorizationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2AuthorizationReqType->Id.charactersLen, iso2AuthorizationReqType->Id.characters, iso2AuthorizationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2AuthorizationReqType->Id_isUsed = 1u; - grammarID = 1829; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); - } - iso2AuthorizationReqType->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1829: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); - } - iso2AuthorizationReqType->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2016:MsgDataTypes":Parameter{1-16})', derivedBy='RESTRICTION'. */ -static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType) { - int grammarID = 1830; - int done = 0; - - init_iso2ParameterSetType(iso2ParameterSetType); - - while(!done) { - switch(grammarID) { - case 1830: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ParameterSetType->ParameterSetID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1831; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1832; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1833; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1834; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1835; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1836; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1837; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1838; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1839; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1840; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1841; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1842; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1843; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1844; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1845; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1846; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType) { - int grammarID = 1847; - int done = 0; - - init_iso2SPKIDataType(iso2SPKIDataType); - - while(!done) { - switch(grammarID) { - case 1847: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1848: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1849; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1849: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":GenChallenge,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp))', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - int grammarID = 1850; - int done = 0; - - init_iso2PaymentDetailsResType(iso2PaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 1850: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PaymentDetailsResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1851; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PaymentDetailsResType->EVSEStatus); - iso2PaymentDetailsResType->EVSEStatus_isUsed = 1u; - grammarID = 1852; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2PaymentDetailsResType->EVSETimeStamp); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType) { - int grammarID = 1854; - int done = 0; - - init_iso2SignatureMethodType(iso2SignatureMethodType); - - while(!done) { - switch(grammarID) { - case 1854: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->Algorithm.charactersLen >= 2) { - iso2SignatureMethodType->Algorithm.charactersLen = (uint16_t)(iso2SignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->Algorithm.charactersLen, iso2SignatureMethodType->Algorithm.characters, iso2SignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1855; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1855: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); - iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 685; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 1856; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1856: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); - iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 685; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 1856; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSETargetPower,"urn:iso:15118:2:2016:MsgBody":EVSETargetReactivePower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - int grammarID = 1857; - int done = 0; - - init_iso2AC_BidirectionalControlResType(iso2AC_BidirectionalControlResType); - - while(!done) { - switch(grammarID) { - case 1857: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1858; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AC_BidirectionalControlResType->EVSEStatus); - iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; - grammarID = 1859; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetPower); - grammarID = 1861; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetReactivePower); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2AC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2AC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2AC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2AC_BidirectionalControlResType->EVSEID.charactersLen, iso2AC_BidirectionalControlResType->EVSEID.characters, iso2AC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2AC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus,"urn:iso:15118:2:2016:MsgBody":CheckOutTime)', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - int grammarID = 1862; - int done = 0; - - init_iso2VehicleCheckOutReqType(iso2VehicleCheckOutReqType); - - while(!done) { - switch(grammarID) { - case 1862: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutReqType->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1863; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2VehicleCheckOutReqType->CheckOutTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - int grammarID = 674; - int done = 0; - - init_iso2WeldingDetectionReqType(iso2WeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - int grammarID = 1864; - int done = 0; - - init_iso2AlignmentCheckResType(iso2AlignmentCheckResType); - - while(!done) { - switch(grammarID) { - case 1864: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AlignmentCheckResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1865; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AlignmentCheckResType->EVSEStatus); - iso2AlignmentCheckResType->EVSEStatus_isUsed = 1u; - grammarID = 1866; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckResType->AlignmentCheckParameters); - iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetPower,"urn:iso:15118:2:2016:MsgBody":EVInputPower,"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - int grammarID = 1867; - int done = 0; - - init_iso2PowerDemandReqType(iso2PowerDemandReqType); - - while(!done) { - switch(grammarID) { - case 1867: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetEnergyRequest); - grammarID = 1868; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMaximumEnergyRequest); - iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1869; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1870; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1870; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVInputPower); - grammarID = 1873; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandReqType->PowerDemandParameters); - iso2PowerDemandReqType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MinimumPMaxRequestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MinimumPMaxScheduleEntry{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - int grammarID = 1874; - int done = 0; - - init_iso2MinimumPMaxRequestType(iso2MinimumPMaxRequestType); - - while(!done) { - switch(grammarID) { - case 1874: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1875; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1876; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - init_iso2DisconnectChargingDeviceResType(iso2DisconnectChargingDeviceResType); - - while(!done) { - switch(grammarID) { - case 591: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2DisconnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2DisconnectChargingDeviceResType->EVSEStatus); - iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 1u; - grammarID = 593; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2DisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - int grammarID = 1877; - int done = 0; - - init_iso2SessionSetupReqType(iso2SessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 1877: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (iso2SessionSetupReqType->EVCCID.bytesLen) <= iso2SessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SessionSetupReqType->EVCCID.bytesLen, iso2SessionSetupReqType->EVCCID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - int grammarID = 1878; - int done = 0; - - init_iso2PaymentDetailsReqType(iso2PaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 1878: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso2PaymentDetailsReqType->eMAID.charactersLen >= 2) { - iso2PaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(iso2PaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2PaymentDetailsReqType->eMAID.charactersLen, iso2PaymentDetailsReqType->eMAID.characters, iso2PaymentDetailsReqType_eMAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1879; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2PaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ -static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - init_iso2Generic_EVFinePositioningParametersType(iso2Generic_EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVFinePositioningParametersType->GenericParameters); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - init_iso2ConnectChargingDeviceReqType(iso2ConnectChargingDeviceReqType); - - while(!done) { - switch(grammarID) { - case 1496: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2ConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency)', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - int grammarID = 1881; - int done = 0; - - init_iso2AC_EVSEChargeParameterType(iso2AC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1881: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); - grammarID = 1882; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalVoltage); - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalFrequency); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ -static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - int grammarID = 1883; - int done = 0; - - init_iso2SalesTariffEntryType(iso2SalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 1883: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2SalesTariffEntryType->RelativeTimeInterval); - grammarID = 1884; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - iso2SalesTariffEntryType->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1885; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1886; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1886; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1887; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEBidirectionalParameterType', base type name='DC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - int grammarID = 1888; - int done = 0; - - init_iso2DC_EVSEBidirectionalParameterType(iso2DC_EVSEBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 1888: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargePower); - grammarID = 1889; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); - grammarID = 1890; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent); - grammarID = 1891; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumVoltage); - grammarID = 1892; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumVoltage); - grammarID = 1893; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance); - iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 1894; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); - grammarID = 1895; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); - grammarID = 1895; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered); - iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 1896; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); - grammarID = 1897; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); - grammarID = 1897; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); - grammarID = 1898; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,CanonicalizationMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - int grammarID = 1899; - int done = 0; - - init_iso2CanonicalizationMethodType(iso2CanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 1899: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->Algorithm.charactersLen >= 2) { - iso2CanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->Algorithm.charactersLen, iso2CanonicalizationMethodType->Algorithm.characters, iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 684; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DisplayParametersType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":CurrentRange{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingPerformance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToTargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToBulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToMinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":InletHot{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType) { - int grammarID = 1900; - int done = 0; - - init_iso2DisplayParametersType(iso2DisplayParametersType); - - while(!done) { - switch(grammarID) { - case 1900: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DisplayParametersType->CurrentRange); - iso2DisplayParametersType->CurrentRange_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1901; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 11: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 12: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 11: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVBidirectionalParameterType', base type name='DC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1})),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - int grammarID = 1912; - int done = 0; - - init_iso2DC_EVBidirectionalParameterType(iso2DC_EVBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 1912: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2DC_EVBidirectionalParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1913; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 1u; - grammarID = 1914; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1915; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1915; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargeCurrent); - grammarID = 1917; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 1918; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1919; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1920; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 7: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 8: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1920; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 7: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); - grammarID = 1928; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumVoltage); - grammarID = 1929; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2016:MsgBody":SelectedEnergyTransferService,"urn:iso:15118:2:2016:MsgBody":SelectedVASList{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - int grammarID = 1930; - int done = 0; - - init_iso2PaymentServiceSelectionReqType(iso2PaymentServiceSelectionReqType); - - while(!done) { - switch(grammarID) { - case 1930: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentServiceSelectionReqType->SelectedPaymentOption = (iso2paymentOptionType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1931; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SelectedServiceType(stream, &iso2PaymentServiceSelectionReqType->SelectedEnergyTransferService); - grammarID = 1932; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SelectedServiceListType(stream, &iso2PaymentServiceSelectionReqType->SelectedVASList); - iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":Distance,"urn:iso:15118:2:2016:MsgDataTypes":AngleGAtoVA,"urn:iso:15118:2:2016:MsgDataTypes":RotationVAtoGA,"urn:iso:15118:2:2016:MsgDataTypes":FODStatus)', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType) { - int grammarID = 1933; - int done = 0; - - init_iso2MagneticVectorType(iso2MagneticVectorType); - - while(!done) { - switch(grammarID) { - case 1933: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->GAID.charactersLen); - if (errn == 0) { - if (iso2MagneticVectorType->GAID.charactersLen >= 2) { - iso2MagneticVectorType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorType->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MagneticVectorType->GAID.charactersLen, iso2MagneticVectorType->GAID.characters, iso2MagneticVectorType_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1934; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->Distance); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1935; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->AngleGAtoVA); - grammarID = 1936; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->RotationVAtoGA); - grammarID = 1937; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2MagneticVectorType->FODStatus = (iso2FODStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Exponent,"urn:iso:15118:2:2016:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType) { - int grammarID = 1938; - int done = 0; - - init_iso2PhysicalValueType(iso2PhysicalValueType); - - while(!done) { - switch(grammarID) { - case 1938: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &(uint32)); - iso2PhysicalValueType->Exponent = (int8_t)(uint32 -3); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1939; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2PhysicalValueType->Value); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - int grammarID = 1940; - int done = 0; - - init_iso2SystemStatusReqType(iso2SystemStatusReqType); - - while(!done) { - switch(grammarID) { - case 1940: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusReqType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2SystemStatusReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType) { - int grammarID = 1941; - int done = 0; - - init_iso2SystemStatusResType(iso2SystemStatusResType); - - while(!done) { - switch(grammarID) { - case 1941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SystemStatusResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1942; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SystemStatusResType->EVSEStatus); - iso2SystemStatusResType->EVSEStatus_isUsed = 1u; - grammarID = 1943; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2SystemStatusResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEFinePositioningSetupParametersType(iso2EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GResponseType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType) { - int grammarID = 599; - int done = 0; - - init_iso2V2GResponseType(iso2V2GResponseType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2V2GResponseType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2V2GResponseType->EVSEStatus); - iso2V2GResponseType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":BodyElement)', derivedBy='RESTRICTION'. */ -static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType) { - int grammarID = 1944; - int done = 0; - - init_iso2BodyType(iso2BodyType); - - while(!done) { - switch(grammarID) { - case 1944: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes)] */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_BidirectionalControlReqType(stream, &iso2BodyType->AC_BidirectionalControlReq); - iso2BodyType->AC_BidirectionalControlReq_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2AC_BidirectionalControlResType(stream, &iso2BodyType->AC_BidirectionalControlRes); - iso2BodyType->AC_BidirectionalControlRes_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2AlignmentCheckReqType(stream, &iso2BodyType->AlignmentCheckReq); - iso2BodyType->AlignmentCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2AlignmentCheckResType(stream, &iso2BodyType->AlignmentCheckRes); - iso2BodyType->AlignmentCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2AuthorizationReqType(stream, &iso2BodyType->AuthorizationReq); - iso2BodyType->AuthorizationReq_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2AuthorizationResType(stream, &iso2BodyType->AuthorizationRes); - iso2BodyType->AuthorizationRes_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso2BodyBaseType(stream, &iso2BodyType->BodyElement); - iso2BodyType->BodyElement_isUsed = 1u; - grammarID = 3; - break; - case 7: - errn = decode_iso2CableCheckReqType(stream, &iso2BodyType->CableCheckReq); - iso2BodyType->CableCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 8: - errn = decode_iso2CableCheckResType(stream, &iso2BodyType->CableCheckRes); - iso2BodyType->CableCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 9: - errn = decode_iso2CertificateInstallationReqType(stream, &iso2BodyType->CertificateInstallationReq); - iso2BodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 3; - break; - case 10: - errn = decode_iso2CertificateInstallationResType(stream, &iso2BodyType->CertificateInstallationRes); - iso2BodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 3; - break; - case 11: - errn = decode_iso2CertificateUpdateReqType(stream, &iso2BodyType->CertificateUpdateReq); - iso2BodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 3; - break; - case 12: - errn = decode_iso2CertificateUpdateResType(stream, &iso2BodyType->CertificateUpdateRes); - iso2BodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 3; - break; - case 13: - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &iso2BodyType->ChargeParameterDiscoveryReq); - iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 14: - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &iso2BodyType->ChargeParameterDiscoveryRes); - iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 15: - errn = decode_iso2ChargingStatusReqType(stream, &iso2BodyType->ChargingStatusReq); - iso2BodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 16: - errn = decode_iso2ChargingStatusResType(stream, &iso2BodyType->ChargingStatusRes); - iso2BodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 17: - errn = decode_iso2ConnectChargingDeviceReqType(stream, &iso2BodyType->ConnectChargingDeviceReq); - iso2BodyType->ConnectChargingDeviceReq_isUsed = 1u; - grammarID = 3; - break; - case 18: - errn = decode_iso2ConnectChargingDeviceResType(stream, &iso2BodyType->ConnectChargingDeviceRes); - iso2BodyType->ConnectChargingDeviceRes_isUsed = 1u; - grammarID = 3; - break; - case 19: - errn = decode_iso2CurrentDemandReqType(stream, &iso2BodyType->CurrentDemandReq); - iso2BodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 20: - errn = decode_iso2CurrentDemandResType(stream, &iso2BodyType->CurrentDemandRes); - iso2BodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 21: - errn = decode_iso2DC_BidirectionalControlReqType(stream, &iso2BodyType->DC_BidirectionalControlReq); - iso2BodyType->DC_BidirectionalControlReq_isUsed = 1u; - grammarID = 3; - break; - case 22: - errn = decode_iso2DC_BidirectionalControlResType(stream, &iso2BodyType->DC_BidirectionalControlRes); - iso2BodyType->DC_BidirectionalControlRes_isUsed = 1u; - grammarID = 3; - break; - case 23: - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &iso2BodyType->DisconnectChargingDeviceReq); - iso2BodyType->DisconnectChargingDeviceReq_isUsed = 1u; - grammarID = 3; - break; - case 24: - errn = decode_iso2DisconnectChargingDeviceResType(stream, &iso2BodyType->DisconnectChargingDeviceRes); - iso2BodyType->DisconnectChargingDeviceRes_isUsed = 1u; - grammarID = 3; - break; - case 25: - errn = decode_iso2FinePositioningReqType(stream, &iso2BodyType->FinePositioningReq); - iso2BodyType->FinePositioningReq_isUsed = 1u; - grammarID = 3; - break; - case 26: - errn = decode_iso2FinePositioningResType(stream, &iso2BodyType->FinePositioningRes); - iso2BodyType->FinePositioningRes_isUsed = 1u; - grammarID = 3; - break; - case 27: - errn = decode_iso2FinePositioningSetupReqType(stream, &iso2BodyType->FinePositioningSetupReq); - iso2BodyType->FinePositioningSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 28: - errn = decode_iso2FinePositioningSetupResType(stream, &iso2BodyType->FinePositioningSetupRes); - iso2BodyType->FinePositioningSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 29: - errn = decode_iso2MeteringReceiptReqType(stream, &iso2BodyType->MeteringReceiptReq); - iso2BodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 3; - break; - case 30: - errn = decode_iso2MeteringReceiptResType(stream, &iso2BodyType->MeteringReceiptRes); - iso2BodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 3; - break; - case 31: - errn = decode_iso2PairingReqType(stream, &iso2BodyType->PairingReq); - iso2BodyType->PairingReq_isUsed = 1u; - grammarID = 3; - break; - case 32: - errn = decode_iso2PairingResType(stream, &iso2BodyType->PairingRes); - iso2BodyType->PairingRes_isUsed = 1u; - grammarID = 3; - break; - case 33: - errn = decode_iso2PaymentDetailsReqType(stream, &iso2BodyType->PaymentDetailsReq); - iso2BodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 3; - break; - case 34: - errn = decode_iso2PaymentDetailsResType(stream, &iso2BodyType->PaymentDetailsRes); - iso2BodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 3; - break; - case 35: - errn = decode_iso2PaymentServiceSelectionReqType(stream, &iso2BodyType->PaymentServiceSelectionReq); - iso2BodyType->PaymentServiceSelectionReq_isUsed = 1u; - grammarID = 3; - break; - case 36: - errn = decode_iso2PaymentServiceSelectionResType(stream, &iso2BodyType->PaymentServiceSelectionRes); - iso2BodyType->PaymentServiceSelectionRes_isUsed = 1u; - grammarID = 3; - break; - case 37: - errn = decode_iso2PowerDeliveryReqType(stream, &iso2BodyType->PowerDeliveryReq); - iso2BodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 3; - break; - case 38: - errn = decode_iso2PowerDeliveryResType(stream, &iso2BodyType->PowerDeliveryRes); - iso2BodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 3; - break; - case 39: - errn = decode_iso2PowerDemandReqType(stream, &iso2BodyType->PowerDemandReq); - iso2BodyType->PowerDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 40: - errn = decode_iso2PowerDemandResType(stream, &iso2BodyType->PowerDemandRes); - iso2BodyType->PowerDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 41: - errn = decode_iso2PreChargeReqType(stream, &iso2BodyType->PreChargeReq); - iso2BodyType->PreChargeReq_isUsed = 1u; - grammarID = 3; - break; - case 42: - errn = decode_iso2PreChargeResType(stream, &iso2BodyType->PreChargeRes); - iso2BodyType->PreChargeRes_isUsed = 1u; - grammarID = 3; - break; - case 43: - errn = decode_iso2ServiceDetailReqType(stream, &iso2BodyType->ServiceDetailReq); - iso2BodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 3; - break; - case 44: - errn = decode_iso2ServiceDetailResType(stream, &iso2BodyType->ServiceDetailRes); - iso2BodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 3; - break; - case 45: - errn = decode_iso2ServiceDiscoveryReqType(stream, &iso2BodyType->ServiceDiscoveryReq); - iso2BodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 46: - errn = decode_iso2ServiceDiscoveryResType(stream, &iso2BodyType->ServiceDiscoveryRes); - iso2BodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 47: - errn = decode_iso2SessionSetupReqType(stream, &iso2BodyType->SessionSetupReq); - iso2BodyType->SessionSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 48: - errn = decode_iso2SessionSetupResType(stream, &iso2BodyType->SessionSetupRes); - iso2BodyType->SessionSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 49: - errn = decode_iso2SessionStopReqType(stream, &iso2BodyType->SessionStopReq); - iso2BodyType->SessionStopReq_isUsed = 1u; - grammarID = 3; - break; - case 50: - errn = decode_iso2SessionStopResType(stream, &iso2BodyType->SessionStopRes); - iso2BodyType->SessionStopRes_isUsed = 1u; - grammarID = 3; - break; - case 51: - errn = decode_iso2SystemStatusReqType(stream, &iso2BodyType->SystemStatusReq); - iso2BodyType->SystemStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 52: - errn = decode_iso2SystemStatusResType(stream, &iso2BodyType->SystemStatusRes); - iso2BodyType->SystemStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 53: - errn = decode_iso2BodyBaseType(stream, &iso2BodyType->V2GRequest); - iso2BodyType->V2GRequest_isUsed = 1u; - grammarID = 3; - break; - case 54: - errn = decode_iso2V2GResponseType(stream, &iso2BodyType->V2GResponse); - iso2BodyType->V2GResponse_isUsed = 1u; - grammarID = 3; - break; - case 55: - errn = decode_iso2VehicleCheckInReqType(stream, &iso2BodyType->VehicleCheckInReq); - iso2BodyType->VehicleCheckInReq_isUsed = 1u; - grammarID = 3; - break; - case 56: - errn = decode_iso2VehicleCheckInResType(stream, &iso2BodyType->VehicleCheckInRes); - iso2BodyType->VehicleCheckInRes_isUsed = 1u; - grammarID = 3; - break; - case 57: - errn = decode_iso2VehicleCheckOutReqType(stream, &iso2BodyType->VehicleCheckOutReq); - iso2BodyType->VehicleCheckOutReq_isUsed = 1u; - grammarID = 3; - break; - case 58: - errn = decode_iso2VehicleCheckOutResType(stream, &iso2BodyType->VehicleCheckOutRes); - iso2BodyType->VehicleCheckOutRes_isUsed = 1u; - grammarID = 3; - break; - case 59: - errn = decode_iso2WeldingDetectionReqType(stream, &iso2BodyType->WeldingDetectionReq); - iso2BodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 3; - break; - case 60: - errn = decode_iso2WeldingDetectionResType(stream, &iso2BodyType->WeldingDetectionRes); - iso2BodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType) { - int grammarID = 596; - int done = 0; - - init_iso2PreChargeResType(iso2PreChargeResType); - - while(!done) { - switch(grammarID) { - case 596: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PreChargeResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 597; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PreChargeResType->EVSEStatus); - iso2PreChargeResType->EVSEStatus_isUsed = 1u; - grammarID = 598; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEFinePositioningParametersType(iso2EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - int grammarID = 599; - int done = 0; - - init_iso2PaymentServiceSelectionResType(iso2PaymentServiceSelectionResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PaymentServiceSelectionResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PaymentServiceSelectionResType->EVSEStatus); - iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType) { - int grammarID = 1899; - int done = 0; - - init_iso2DigestMethodType(iso2DigestMethodType); - - while(!done) { - switch(grammarID) { - case 1899: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->Algorithm.charactersLen >= 2) { - iso2DigestMethodType->Algorithm.charactersLen = (uint16_t)(iso2DigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->Algorithm.charactersLen, iso2DigestMethodType->Algorithm.characters, iso2DigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 684; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->ANY.charactersLen >= 2) { - iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2DigestMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->ANY.charactersLen >= 2) { - iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2DigestMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,TargetPositionType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetX,"urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetY)', derivedBy='RESTRICTION'. */ -static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType) { - int grammarID = 1945; - int done = 0; - - init_iso2TargetPositionType(iso2TargetPositionType); - - while(!done) { - switch(grammarID) { - case 1945: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetX); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1946; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1946: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetY); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - init_iso2LFA_EVFinePositioningParametersType(iso2LFA_EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 670: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 671; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVFinePositioningParametersType->SensorPackageList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - int grammarID = 1947; - int done = 0; - - init_iso2DC_EVChargeParameterType(iso2DC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1947: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2DC_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1948; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargePower); - iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 1u; - grammarID = 1949; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1950; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1950; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1950: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargeCurrent); - grammarID = 1952; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 1953; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVTargetEnergyRequest); - iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1954; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1955; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1955; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1958: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - int grammarID = 1959; - int done = 0; - - init_iso2ServiceDetailReqType(iso2ServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 1959: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailReqType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType) { - int grammarID = 1960; - int done = 0; - - init_iso2PreChargeReqType(iso2PreChargeReqType); - - while(!done) { - switch(grammarID) { - case 1960: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetVoltage); - grammarID = 1961; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ManifestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType) { - int grammarID = 1962; - int done = 0; - - init_iso2ManifestType(iso2ManifestType); - - while(!done) { - switch(grammarID) { - case 1962: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ManifestType->Id.charactersLen); - if (errn == 0) { - if (iso2ManifestType->Id.charactersLen >= 2) { - iso2ManifestType->Id.charactersLen = (uint16_t)(iso2ManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ManifestType->Id.charactersLen, iso2ManifestType->Id.characters, iso2ManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ManifestType->Id_isUsed = 1u; - grammarID = 1963; - break; - case 1: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1963: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDef":Header,"urn:iso:15118:2:2016:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - int grammarID = 1965; - int done = 0; - - init_iso2AnonType_V2G_Message(iso2AnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 1965: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MessageHeaderType(stream, &iso2AnonType_V2G_Message->Header); - grammarID = 1966; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2BodyType(stream, &iso2AnonType_V2G_Message->Body); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SelectedService{1-16})', derivedBy='RESTRICTION'. */ -static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - int grammarID = 1967; - int done = 0; - - init_iso2SelectedServiceListType(iso2SelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 1967: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1968; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1969; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1970; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1971; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1972; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1973; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1974; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1975; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1976; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1977; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1978; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1979; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1980; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1981; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1982; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ -static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - init_iso2Generic_EVSEFinePositioningParametersType(iso2Generic_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVSEFinePositioningParametersType->GenericParameters); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CartesianCoordinatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":XCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":YCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":ZCoordinate)', derivedBy='RESTRICTION'. */ -static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - int grammarID = 1983; - int done = 0; - - init_iso2CartesianCoordinatesType(iso2CartesianCoordinatesType); - - while(!done) { - switch(grammarID) { - case 1983: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->XCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1984; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->YCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1985; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->ZCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyInfoType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":KeyName|"http://www.w3.org/2000/09/xmldsig#":KeyValue|"http://www.w3.org/2000/09/xmldsig#":RetrievalMethod|"http://www.w3.org/2000/09/xmldsig#":X509Data|"http://www.w3.org/2000/09/xmldsig#":PGPData|"http://www.w3.org/2000/09/xmldsig#":SPKIData|"http://www.w3.org/2000/09/xmldsig#":MgmtData|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType) { - int grammarID = 1986; - int done = 0; - - init_iso2KeyInfoType(iso2KeyInfoType); - - while(!done) { - switch(grammarID) { - case 1986: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->Id.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->Id.charactersLen >= 2) { - iso2KeyInfoType->Id.charactersLen = (uint16_t)(iso2KeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->Id.charactersLen, iso2KeyInfoType->Id.characters, iso2KeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->Id_isUsed = 1u; - grammarID = 1987; - break; - case 1: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 7: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1987: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1988: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - done = 1; - grammarID = 4; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1988; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1989: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ -static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType) { - int grammarID = 1990; - int done = 0; - - init_iso2SubCertificatesType(iso2SubCertificatesType); - - while(!done) { - switch(grammarID) { - case 1990: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1991; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1992; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1993; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RootCertificateID{1-20})', derivedBy='RESTRICTION'. */ -static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - int grammarID = 1994; - int done = 0; - - init_iso2ListOfRootCertificateIDsType(iso2ListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 1994: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1995; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1996; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1997; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1998; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1999; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2000; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2001; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2002; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2003; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2004; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2005; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2006; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2007; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2008; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2009; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2010; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2011; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2012; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2013; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVEnergyTransferParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime)', derivedBy='RESTRICTION'. */ -static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - int grammarID = 2014; - int done = 0; - - init_iso2EVEnergyTransferParameterType(iso2EVEnergyTransferParameterType); - - while(!done) { - switch(grammarID) { - case 2014: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2EVEnergyTransferParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='encryptedPrivateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 2015; - int done = 0; - - init_iso2ContractSignatureEncryptedPrivateKeyType(iso2ContractSignatureEncryptedPrivateKeyType); - - while(!done) { - switch(grammarID) { - case 2015: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - if (errn == 0) { - if (iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { - iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen, iso2ContractSignatureEncryptedPrivateKeyType->Id.characters, iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2016; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - int grammarID = 2017; - int done = 0; - - init_iso2MagneticVectorSetupListType(iso2MagneticVectorSetupListType); - - while(!done) { - switch(grammarID) { - case 2017: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2018; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2019; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2020; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2021; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2022; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2023; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2024; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2025; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2026; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2027; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2028; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2029; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2030; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2031; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2032; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2033; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2034; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2035; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2036; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2037; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2038; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2039; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2040; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2041; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2042; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2043; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2044; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2045; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2046; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2047; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2048; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2049; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2050; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2051; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2052; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2053; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2054; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2055; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2056; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2057; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2058; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2059; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2060; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2061; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2062; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2063; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2064; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2065; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2066; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2067; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2068; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2069; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2070; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2071; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2072; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2073; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2074; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2075; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2076; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2077; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2078; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2079; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2080; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2081; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2082; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2083; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2084; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2085; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2086; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2087; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2088; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2089; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2090; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2091; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2092; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2093; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2094; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2095; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2096; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2097; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2098; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2099; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2213; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2214; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2215; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2216; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2217; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2218; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2220; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2221; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2222; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2245; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2246; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2247; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2248; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2249; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2250; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2251; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2252; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2253; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2254; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2255; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2256; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2257; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2258; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2259; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2260; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2261; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2262; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2263; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2264; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2265; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2266; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2267; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2268; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2269; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2270; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2271; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType) { - int grammarID = 2272; - int done = 0; - - init_iso2PairingReqType(iso2PairingReqType); - - while(!done) { - switch(grammarID) { - case 2272: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PairingReqType->PairingParameters); - iso2PairingReqType->PairingParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - int grammarID = 2273; - int done = 0; - - init_iso2CurrentDemandResType(iso2CurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 2273: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CurrentDemandResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2274; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CurrentDemandResType->EVSEStatus); - iso2CurrentDemandResType->EVSEStatus_isUsed = 1u; - grammarID = 2275; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); - grammarID = 2276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); - grammarID = 2276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentVoltage); - grammarID = 2277; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEPowerLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSECurrentLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2279; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEVoltageLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumPower); - iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 1u; - grammarID = 2281; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; - grammarID = 2282; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; - grammarID = 2282; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2CurrentDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); - iso2CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); - iso2CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)', derivedBy='RESTRICTION'. */ -static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - int grammarID = 2283; - int done = 0; - - init_iso2X509IssuerSerialType(iso2X509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 2283: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (iso2X509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - iso2X509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(iso2X509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509IssuerSerialType->X509IssuerName.charactersLen, iso2X509IssuerSerialType->X509IssuerName.characters, iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2284: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2X509IssuerSerialType->X509SerialNumber); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - int grammarID = 2285; - int done = 0; - - init_iso2ChargingStatusReqType(iso2ChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 2285: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVTargetEnergyRequest); - grammarID = 2286; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumEnergyRequest); - iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 2287; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 2288; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 2288; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID))', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - int grammarID = 2292; - int done = 0; - - init_iso2CertificateInstallationResType(iso2CertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 2292: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CertificateInstallationResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2293; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CertificateInstallationResType->EVSEStatus); - iso2CertificateInstallationResType->EVSEStatus_isUsed = 1u; - grammarID = 2294; - break; - case 1: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 2295; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 2295; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->ContractSignatureCertChain); - grammarID = 2296; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateInstallationResType->ContractSignatureEncryptedPrivateKey); - grammarID = 2297; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateInstallationResType->DHpublickey); - grammarID = 2298; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EMAIDType(stream, &iso2CertificateInstallationResType->eMAID); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PackageIndex,"urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType) { - int grammarID = 2299; - int done = 0; - - init_iso2SensorPackageType(iso2SensorPackageType); - - while(!done) { - switch(grammarID) { - case 2299: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2SensorPackageType->PackageIndex); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2301; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2302; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2303; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2304; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2305; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2306; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2307; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2308; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2309; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2310; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2311; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2312; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2313; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2314; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2315; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2316; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2317; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2318; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2319; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2320; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2321; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2322; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2323; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2324; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2325; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2326; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2327; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2328; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2329; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2330; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2331; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2332; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2333; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2334; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2335; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2336; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2337; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2338; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2339; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2340; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2341; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2342; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2343; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2344; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2345; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2346; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2347; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2348; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2349; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2350; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2352; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2353; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2354; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2355; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2357; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2358; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2359; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2360; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2361; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2362; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2363; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2364; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2365; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2366; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2367; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2368; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2370; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2371; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2372; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2373; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2374; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2375; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2376; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2377; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2378; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2379; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2380; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2381; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2382; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2383; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2384; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2385; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2386; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2387; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2388; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2389; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2390; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2391; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2392; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2393; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2394; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2395; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2396; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2397; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2398; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2399; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2400; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2401; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2402; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2403; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2404; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2405; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2406; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2407; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2408; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2409; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2410; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2411; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2412; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2413; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2414; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2415; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2416; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2417; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2418; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2419; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2420; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2421; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2422; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2423; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2424; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2425; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2426; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2427; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2428; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2429; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2430; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2431; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2432; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2433; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2434; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2435; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2436; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2437; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2438; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2439; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2440; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2441; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2442; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2443; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2444; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2445; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2446; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2447; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2448; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2449; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2450; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2451; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2452; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2453; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2454; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2455; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2456; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2457; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2458; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2459; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2460; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2461; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2462; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2463; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2464; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2465; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2466; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2467; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2468; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2469; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2470; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2471; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2472; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2473; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2474; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2475; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2476; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2477; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2478; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2479; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2480; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2481; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2482; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2483; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2484; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2485; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2486; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2487; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2488; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2489; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2490; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2491; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2492; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2493; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2494; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2495; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2496; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2497; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2498; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2499; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2500; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2501; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2502; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2503; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2504; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2505; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2506; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2507; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2508; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2509; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2510; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2511; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2512; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2513; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2514; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2515; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2516; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2517; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2518; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2519; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2520; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2521; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2522; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2523; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2524; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2525; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2526; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2527; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2528; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2529; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2530; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2531; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2532; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2533; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2534; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType) { - int grammarID = 2555; - int done = 0; - - init_iso2PGPDataType(iso2PGPDataType); - - while(!done) { - switch(grammarID) { - case 2555: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyID.bytesLen) <= iso2PGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyID.bytesLen, iso2PGPDataType->PGPKeyID.bytes); - } - iso2PGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2556; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); - } - iso2PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2557; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2556: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); - } - iso2PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2557; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2557; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2557: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":PaymentOptionList,"urn:iso:15118:2:2016:MsgBody":EnergyTransferServiceList,"urn:iso:15118:2:2016:MsgBody":VASList{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - int grammarID = 2558; - int done = 0; - - init_iso2ServiceDiscoveryResType(iso2ServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 2558: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ServiceDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2559; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDiscoveryResType->EVSEStatus); - iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 1u; - grammarID = 2560; - break; - case 1: - errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); - grammarID = 2561; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); - grammarID = 2561; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->EnergyTransferServiceList); - grammarID = 2562; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->VASList); - iso2ServiceDiscoveryResType->VASList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceIDListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID{1-10})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType) { - int grammarID = 2563; - int done = 0; - - init_iso2ServiceIDListType(iso2ServiceIDListType); - - while(!done) { - switch(grammarID) { - case 2563: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2564; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2565; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2566; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2567; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2568; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2569; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2570; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2571; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2572; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVFinePositioningSetupParametersType(iso2EVFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":SAScheduleList{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyTransferParameter))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - int grammarID = 2573; - int done = 0; - - init_iso2ChargeParameterDiscoveryResType(iso2ChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 2573: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ChargeParameterDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2574; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ChargeParameterDiscoveryResType->EVSEStatus); - iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 1u; - grammarID = 2575; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2576; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2576; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SAScheduleListType(stream, &iso2ChargeParameterDiscoveryResType->SAScheduleList); - iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 2577; - break; - case 1: - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEOutputPower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType) { - int grammarID = 2578; - int done = 0; - - init_iso2PowerDemandResType(iso2PowerDemandResType); - - while(!done) { - switch(grammarID) { - case 2578: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PowerDemandResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2579; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PowerDemandResType->EVSEStatus); - iso2PowerDemandResType->EVSEStatus_isUsed = 1u; - grammarID = 2580; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); - grammarID = 2581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); - grammarID = 2581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PowerDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2PowerDemandResType->EVSEID.charactersLen >= 2) { - iso2PowerDemandResType->EVSEID.charactersLen = (uint16_t)(iso2PowerDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2PowerDemandResType->EVSEID.charactersLen, iso2PowerDemandResType->EVSEID.characters, iso2PowerDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2582; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDemandResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2583; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); - iso2PowerDemandResType->MeterInfo_isUsed = 1u; - grammarID = 2584; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); - iso2PowerDemandResType->MeterInfo_isUsed = 1u; - grammarID = 2584; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType) { - int grammarID = 2585; - int done = 0; - - init_iso2ChargingProfileType(iso2ChargingProfileType); - - while(!done) { - switch(grammarID) { - case 2585: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2586; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - int grammarID = 2587; - int done = 0; - - init_iso2FinePositioningReqType(iso2FinePositioningReqType); - - while(!done) { - switch(grammarID) { - case 2587: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2588; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->EVFinePositioningParameters); - iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->Generic_EVFinePositioningParameters); - iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->LFA_EVFinePositioningParameters); - iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2016:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType) { - int grammarID = 2589; - int done = 0; - - init_iso2SalesTariffType(iso2SalesTariffType); - - while(!done) { - switch(grammarID) { - case 2589: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->Id.charactersLen); - if (errn == 0) { - if (iso2SalesTariffType->Id.charactersLen >= 2) { - iso2SalesTariffType->Id.charactersLen = (uint16_t)(iso2SalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SalesTariffType->Id.charactersLen, iso2SalesTariffType->Id.characters, iso2SalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2590; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2590: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->SalesTariffID = (uint8_t)(uint32 + 1); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2591; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (iso2SalesTariffType->SalesTariffDescription.charactersLen >= 2) { - iso2SalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(iso2SalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SalesTariffType->SalesTariffDescription.charactersLen, iso2SalesTariffType->SalesTariffDescription.characters, iso2SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SalesTariffType->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2593; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2593; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":SensorPosition,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrientation)', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType) { - int grammarID = 2595; - int done = 0; - - init_iso2SensorType(iso2SensorType); - - while(!done) { - switch(grammarID) { - case 2595: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorType->SensorID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2596; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorPosition); - grammarID = 2597; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorOrientation); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType) { - int grammarID = 2598; - int done = 0; - - init_iso2SignatureValueType(iso2SignatureValueType); - - while(!done) { - switch(grammarID) { - case 2598: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->Id.charactersLen); - if (errn == 0) { - if (iso2SignatureValueType->Id.charactersLen >= 2) { - iso2SignatureValueType->Id.charactersLen = (uint16_t)(iso2SignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureValueType->Id.charactersLen, iso2SignatureValueType->Id.characters, iso2SignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureValueType->Id_isUsed = 1u; - grammarID = 2016; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignedInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod,"http://www.w3.org/2000/09/xmldsig#":SignatureMethod,"http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType) { - int grammarID = 2599; - int done = 0; - - init_iso2SignedInfoType(iso2SignedInfoType); - - while(!done) { - switch(grammarID) { - case 2599: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignedInfoType->Id.charactersLen); - if (errn == 0) { - if (iso2SignedInfoType->Id.charactersLen >= 2) { - iso2SignedInfoType->Id.charactersLen = (uint16_t)(iso2SignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignedInfoType->Id.charactersLen, iso2SignedInfoType->Id.characters, iso2SignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignedInfoType->Id_isUsed = 1u; - grammarID = 2600; - break; - case 1: - errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); - grammarID = 2601; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2600: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); - grammarID = 2601; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2601: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureMethodType(stream, &iso2SignedInfoType->SignatureMethod); - grammarID = 2602; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2602: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - int grammarID = 5; - int done = 0; - - init_iso2PowerDeliveryResType(iso2PowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PowerDeliveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PowerDeliveryResType->EVSEStatus); - iso2PowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType) { - int grammarID = 674; - int done = 0; - - init_iso2CableCheckReqType(iso2CableCheckReqType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID)', derivedBy='RESTRICTION'. */ -static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType) { - int grammarID = 2603; - int done = 0; - - init_iso2SelectedServiceType(iso2SelectedServiceType); - - while(!done) { - switch(grammarID) { - case 2603: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ParameterSetID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - int grammarID = 2015; - int done = 0; - - init_iso2DiffieHellmanPublickeyType(iso2DiffieHellmanPublickeyType); - - while(!done) { - switch(grammarID) { - case 2015: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->Id.charactersLen); - if (errn == 0) { - if (iso2DiffieHellmanPublickeyType->Id.charactersLen >= 2) { - iso2DiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(iso2DiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DiffieHellmanPublickeyType->Id.charactersLen, iso2DiffieHellmanPublickeyType->Id.characters, iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2016; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2DiffieHellmanPublickeyType->CONTENT.bytesLen) <= iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DiffieHellmanPublickeyType->CONTENT.bytesLen, iso2DiffieHellmanPublickeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2016:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType) { - int grammarID = 2605; - int done = 0; - - init_iso2EVSEStatusType(iso2EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 2605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2EVSEStatusType->NotificationMaxDelay); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2606; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2EVSEStatusType->EVSENotification = (iso2EVSENotificationType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_iso2EXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ - errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiDoc->AC_BidirectionalControlReq); - exiDoc->AC_BidirectionalControlReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ - errn = decode_iso2AC_BidirectionalControlResType(stream, &exiDoc->AC_BidirectionalControlRes); - exiDoc->AC_BidirectionalControlRes_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiDoc->AC_EVBidirectionalParameter); - exiDoc->AC_EVBidirectionalParameter_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso2AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter); - exiDoc->AC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); - exiDoc->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ - errn = decode_iso2AlignmentCheckReqType(stream, &exiDoc->AlignmentCheckReq); - exiDoc->AlignmentCheckReq_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ - errn = decode_iso2AlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes); - exiDoc->AlignmentCheckRes_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = decode_iso2AuthorizationReqType(stream, &exiDoc->AuthorizationReq); - exiDoc->AuthorizationReq_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = decode_iso2AuthorizationResType(stream, &exiDoc->AuthorizationRes); - exiDoc->AuthorizationRes_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = decode_iso2BodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = decode_iso2CableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = decode_iso2CableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso2CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = decode_iso2CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = decode_iso2CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = decode_iso2CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = decode_iso2CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = decode_iso2ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = decode_iso2ChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ - errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiDoc->ConnectChargingDeviceReq); - exiDoc->ConnectChargingDeviceReq_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ - errn = decode_iso2ConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes); - exiDoc->ConnectChargingDeviceRes_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = decode_iso2CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = decode_iso2CurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ - errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiDoc->DC_BidirectionalControlReq); - exiDoc->DC_BidirectionalControlReq_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ - errn = decode_iso2DC_BidirectionalControlResType(stream, &exiDoc->DC_BidirectionalControlRes); - exiDoc->DC_BidirectionalControlRes_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter); - exiDoc->DC_EVBidirectionalParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso2DC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); - exiDoc->DC_EVChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter); - exiDoc->DC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); - exiDoc->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso2DSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso2DigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= iso2EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq); - exiDoc->DisconnectChargingDeviceReq_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ - errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes); - exiDoc->DisconnectChargingDeviceRes_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = decode_iso2EVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter); - exiDoc->EVEnergyTransferParameter_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = decode_iso2EVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters); - exiDoc->EVFinePositioningParameters_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters); - exiDoc->EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter); - exiDoc->EVSEEnergyTransferParameter_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters); - exiDoc->EVSEFinePositioningParameters_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters); - exiDoc->EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = decode_iso2FinePositioningReqType(stream, &exiDoc->FinePositioningReq); - exiDoc->FinePositioningReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = decode_iso2FinePositioningResType(stream, &exiDoc->FinePositioningRes); - exiDoc->FinePositioningRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = decode_iso2FinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq); - exiDoc->FinePositioningSetupReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = decode_iso2FinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes); - exiDoc->FinePositioningSetupRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiDoc->Generic_EVFinePositioningParameters); - exiDoc->Generic_EVFinePositioningParameters_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiDoc->Generic_EVSEFinePositioningParameters); - exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso2KeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, iso2EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 51: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso2KeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiDoc->LFA_EVFinePositioningParameters); - exiDoc->LFA_EVFinePositioningParameters_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters); - exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiDoc->LFA_EVSEFinePositioningParameters); - exiDoc->LFA_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters); - exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiDoc->MV_EVSEFinePositioningParameters); - exiDoc->MV_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiDoc->MV_EVSEFinePositioningSetupParameters); - exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso2ManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = decode_iso2MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = decode_iso2MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, iso2EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 62: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso2ObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso2PGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = decode_iso2PairingReqType(stream, &exiDoc->PairingReq); - exiDoc->PairingReq_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = decode_iso2PairingResType(stream, &exiDoc->PairingRes); - exiDoc->PairingRes_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = decode_iso2PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = decode_iso2PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); - exiDoc->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso2PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); - exiDoc->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = decode_iso2PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = decode_iso2PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = decode_iso2PowerDemandReqType(stream, &exiDoc->PowerDemandReq); - exiDoc->PowerDemandReq_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = decode_iso2PowerDemandResType(stream, &exiDoc->PowerDemandRes); - exiDoc->PowerDemandRes_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = decode_iso2PreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = decode_iso2PreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso2RSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso2ReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso2RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso2RetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso2SPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso2SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = decode_iso2ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = decode_iso2ServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso2ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso2ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = decode_iso2SessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = decode_iso2SessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = decode_iso2SessionStopReqType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = decode_iso2SessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 92: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso2SignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso2SignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso2SignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 95: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso2SignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso2SignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso2SignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = decode_iso2SystemStatusReqType(stream, &exiDoc->SystemStatusReq); - exiDoc->SystemStatusReq_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = decode_iso2SystemStatusResType(stream, &exiDoc->SystemStatusRes); - exiDoc->SystemStatusRes_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso2TransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 101: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso2TransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = decode_iso2BodyBaseType(stream, &exiDoc->V2GRequest); - exiDoc->V2GRequest_isUsed = 1u; - break; - case 103: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = decode_iso2V2GResponseType(stream, &exiDoc->V2GResponse); - exiDoc->V2GResponse_isUsed = 1u; - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = decode_iso2AnonType_V2G_Message(stream, &exiDoc->V2G_Message); - exiDoc->V2G_Message_isUsed = 1u; - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = decode_iso2VehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq); - exiDoc->VehicleCheckInReq_isUsed = 1u; - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = decode_iso2VehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes); - exiDoc->VehicleCheckInRes_isUsed = 1u; - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = decode_iso2VehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq); - exiDoc->VehicleCheckOutReq_isUsed = 1u; - break; - case 108: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = decode_iso2VehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes); - exiDoc->VehicleCheckOutRes_isUsed = 1u; - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = decode_iso2WPT_EVChargeParameterType(stream, &exiDoc->WPT_EVChargeParameter); - exiDoc->WPT_EVChargeParameter_isUsed = 1u; - break; - case 110: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter); - exiDoc->WPT_EVSEChargeParameter_isUsed = 1u; - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = decode_iso2WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = decode_iso2WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso2X509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - init_iso2EXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ - errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiFrag->AC_BidirectionalControlReq); - exiFrag->AC_BidirectionalControlReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ - errn = decode_iso2AC_BidirectionalControlResType(stream, &exiFrag->AC_BidirectionalControlRes); - exiFrag->AC_BidirectionalControlRes_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiFrag->AC_EVBidirectionalParameter); - exiFrag->AC_EVBidirectionalParameter_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso2AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter); - exiFrag->AC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->AlignmentCheckParameters); - exiFrag->AlignmentCheckParameters_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ - errn = decode_iso2AlignmentCheckReqType(stream, &exiFrag->AlignmentCheckReq); - exiFrag->AlignmentCheckReq_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ - errn = decode_iso2AlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes); - exiFrag->AlignmentCheckRes_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->AlignmentOffset); - exiFrag->AlignmentOffset_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->AngleGAtoVA); - exiFrag->AngleGAtoVA_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = decode_iso2AuthorizationReqType(stream, &exiFrag->AuthorizationReq); - exiFrag->AuthorizationReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = decode_iso2AuthorizationResType(stream, &exiFrag->AuthorizationRes); - exiFrag->AuthorizationRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ - errn = decode_iso2BodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = decode_iso2BodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff) */ - errn = decode_iso2SalesTariffType(stream, &exiFrag->BuyBackTariff); - exiFrag->BuyBackTariff_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = decode_iso2CableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = decode_iso2CableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso2CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= iso2EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = decode_iso2CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = decode_iso2CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = decode_iso2CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = decode_iso2CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ChargeProgress = (iso2chargeProgressType) uint32; - exiFrag->ChargeProgress_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ChargingComplete); - exiFrag->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->ChargingPerformance); - exiFrag->ChargingPerformance_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ - errn = decode_iso2ChargingProfileType(stream, &exiFrag->ChargingProfile); - exiFrag->ChargingProfile_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->ChargingSession = (iso2chargingSessionType) uint32; - exiFrag->ChargingSession_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = decode_iso2ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = decode_iso2ChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->CheckOutTime); - exiFrag->CheckOutTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ - errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiFrag->ConnectChargingDeviceReq); - exiFrag->ConnectChargingDeviceReq_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ - errn = decode_iso2ConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes); - exiFrag->ConnectChargingDeviceRes_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ - errn = decode_iso2ConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ - errn = decode_iso2CertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey); - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ - errn = decode_iso2CostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = decode_iso2CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = decode_iso2CurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->CurrentRange); - exiFrag->CurrentRange_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->CurrentSOC = (int8_t)(uint32 + 0); - exiFrag->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ - errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiFrag->DC_BidirectionalControlReq); - exiFrag->DC_BidirectionalControlReq_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ - errn = decode_iso2DC_BidirectionalControlResType(stream, &exiFrag->DC_BidirectionalControlRes); - exiFrag->DC_BidirectionalControlRes_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter); - exiFrag->DC_EVBidirectionalParameter_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso2DC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); - exiFrag->DC_EVChargeParameter_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter); - exiFrag->DC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ - errn = decode_iso2DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey); - exiFrag->DHpublickey_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso2DSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 55: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso2DigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= iso2EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiFrag->DisconnectChargingDeviceReq); - exiFrag->DisconnectChargingDeviceReq_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ - errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiFrag->DisconnectChargingDeviceRes); - exiFrag->DisconnectChargingDeviceRes_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters) */ - errn = decode_iso2DisplayParametersType(stream, &exiFrag->DisplayParameters); - exiFrag->DisplayParameters_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Distance); - exiFrag->Distance_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= iso2EXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; - exiFrag->EVCheckInStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; - exiFrag->EVCheckOutStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - exiFrag->EVElectricalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = decode_iso2EVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter); - exiFrag->EVEnergyTransferParameter_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = decode_iso2EVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters); - exiFrag->EVFinePositioningParameters_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters); - exiFrag->EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVInputPower); - exiFrag->EVInputPower_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); - exiFrag->EVMaximumChargeCurrent_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); - exiFrag->EVMaximumChargeCurrent_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); - exiFrag->EVMaximumChargePower_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); - exiFrag->EVMaximumChargePower_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumCurrent); - exiFrag->EVMaximumCurrent_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); - exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); - exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); - exiFrag->EVMaximumDischargePower_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); - exiFrag->EVMaximumDischargePower_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); - exiFrag->EVMaximumEnergyRequest_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); - exiFrag->EVMaximumEnergyRequest_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); - exiFrag->EVMaximumPower_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); - exiFrag->EVMaximumPower_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); - exiFrag->EVMaximumVoltage_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); - exiFrag->EVMaximumVoltage_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); - exiFrag->EVMinimumChargeCurrent_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); - exiFrag->EVMinimumChargeCurrent_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargePower); - exiFrag->EVMinimumChargePower_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); - exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); - exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargePower); - exiFrag->EVMinimumDischargePower_isUsed = 1u; - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); - exiFrag->EVMinimumEnergyRequest_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); - exiFrag->EVMinimumEnergyRequest_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumPower); - exiFrag->EVMinimumPower_isUsed = 1u; - break; - case 95: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); - exiFrag->EVMinimumVoltage_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); - exiFrag->EVMinimumVoltage_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVOperation = (iso2EVOperationType) uint32; - exiFrag->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentActivePower); - exiFrag->EVPresentActivePower_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentReactivePower); - exiFrag->EVPresentReactivePower_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVProcessing = (iso2EVSEProcessingType) uint32; - exiFrag->EVProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 101: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - exiFrag->EVSECheckOutStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSECurrentLimitAchieved); - exiFrag->EVSECurrentLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 103: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter); - exiFrag->EVSEEnergyTransferParameter_isUsed = 1u; - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters); - exiFrag->EVSEFinePositioningParameters_isUsed = 1u; - break; - case 108: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters); - exiFrag->EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen); - if (errn == 0) { - if (exiFrag->EVSEID.charactersLen >= 2) { - exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, iso2EXIFragment_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 110: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); - exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); - exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); - exiFrag->EVSEMaximumChargePower_isUsed = 1u; - break; - case 113: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); - exiFrag->EVSEMaximumChargePower_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent); - exiFrag->EVSEMaximumCurrent_isUsed = 1u; - break; - case 115: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); - exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; - break; - case 116: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); - exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; - break; - case 117: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); - exiFrag->EVSEMaximumDischargePower_isUsed = 1u; - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); - exiFrag->EVSEMaximumDischargePower_isUsed = 1u; - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); - exiFrag->EVSEMaximumPower_isUsed = 1u; - break; - case 120: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); - exiFrag->EVSEMaximumPower_isUsed = 1u; - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); - exiFrag->EVSEMaximumVoltage_isUsed = 1u; - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); - exiFrag->EVSEMaximumVoltage_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 124: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent); - exiFrag->EVSEMinimumChargeCurrent_isUsed = 1u; - break; - case 125: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent); - exiFrag->EVSEMinimumDischargeCurrent_isUsed = 1u; - break; - case 126: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumPower); - exiFrag->EVSEMinimumPower_isUsed = 1u; - break; - case 127: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); - exiFrag->EVSEMinimumVoltage_isUsed = 1u; - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); - exiFrag->EVSEMinimumVoltage_isUsed = 1u; - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalFrequency); - exiFrag->EVSENominalFrequency_isUsed = 1u; - break; - case 130: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalVoltage); - exiFrag->EVSENominalVoltage_isUsed = 1u; - break; - case 131: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSENotification = (iso2EVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 132: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEOutputPower); - exiFrag->EVSEOutputPower_isUsed = 1u; - break; - case 133: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); - exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; - break; - case 134: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEPowerLimitAchieved); - exiFrag->EVSEPowerLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEProcessing = (iso2EVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ - errn = decode_iso2EVSEStatusType(stream, &exiFrag->EVSEStatus); - exiFrag->EVSEStatus_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetPower); - exiFrag->EVSETargetPower_isUsed = 1u; - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetReactivePower); - exiFrag->EVSETargetReactivePower_isUsed = 1u; - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp); - exiFrag->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEVoltageLimitAchieved); - exiFrag->EVSEVoltageLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); - exiFrag->EVTargetEnergyRequest_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); - exiFrag->EVTargetEnergyRequest_isUsed = 1u; - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetPower); - exiFrag->EVTargetPower_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EffectiveRadiatedPower = (int8_t)(uint32 -128); - exiFrag->EffectiveRadiatedPower_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ - errn = decode_iso2ServiceListType(stream, &exiFrag->EnergyTransferServiceList); - exiFrag->EnergyTransferServiceList_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FODStatus = (iso2FODStatusType) uint32; - exiFrag->FODStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 153: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = decode_iso2FinePositioningReqType(stream, &exiFrag->FinePositioningReq); - exiFrag->FinePositioningReq_isUsed = 1u; - break; - case 154: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = decode_iso2FinePositioningResType(stream, &exiFrag->FinePositioningRes); - exiFrag->FinePositioningRes_isUsed = 1u; - break; - case 155: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = decode_iso2FinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq); - exiFrag->FinePositioningSetupReq_isUsed = 1u; - break; - case 156: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = decode_iso2FinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes); - exiFrag->FinePositioningSetupRes_isUsed = 1u; - break; - case 157: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->FrequencyChannel); - exiFrag->FrequencyChannel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 159: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= iso2EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GAID.charactersLen); - if (errn == 0) { - if (exiFrag->GAID.charactersLen >= 2) { - exiFrag->GAID.charactersLen = (uint16_t)(exiFrag->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->GAID.charactersLen, exiFrag->GAID.characters, iso2EXIFragment_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->GAID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen); - if (errn == 0) { - errn = (exiFrag->GenChallenge.bytesLen) <= iso2EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes); - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 162: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->GenericParameters); - exiFrag->GenericParameters_isUsed = 1u; - break; - case 163: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiFrag->Generic_EVFinePositioningParameters); - exiFrag->Generic_EVFinePositioningParameters_isUsed = 1u; - break; - case 164: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters); - exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 165: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ - errn = decode_iso2MessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->InletHot); - exiFrag->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 168: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= iso2EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 169: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso2KeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 170: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, iso2EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso2KeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiFrag->LFA_EVFinePositioningParameters); - exiFrag->LFA_EVFinePositioningParameters_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters); - exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiFrag->LFA_EVSEFinePositioningParameters); - exiFrag->LFA_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters); - exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_iso2ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiFrag->MV_EVSEFinePositioningParameters); - exiFrag->MV_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 178: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters); - exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ - errn = decode_iso2MagneticVectorType(stream, &exiFrag->MagneticVector); - exiFrag->MagneticVector_isUsed = 1u; - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ - errn = decode_iso2MagneticVectorListType(stream, &exiFrag->MagneticVectorList); - exiFrag->MagneticVectorList_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ - errn = decode_iso2MagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup); - exiFrag->MagneticVectorSetup_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ - errn = decode_iso2MagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList); - exiFrag->MagneticVectorSetupList_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso2ManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); - exiFrag->MaxSupportingPoints = (uint16_t)(uint32 + 12); - exiFrag->MaxSupportingPoints_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeasurementData); - exiFrag->MeasurementData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList) */ - errn = decode_iso2MeasurementDataListType(stream, &exiFrag->MeasurementDataList); - exiFrag->MeasurementDataList_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, iso2EXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ - errn = decode_iso2MeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingCharged); - exiFrag->MeterReadingCharged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingDischarged); - exiFrag->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 192: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = decode_iso2MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 193: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = decode_iso2MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 194: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, iso2EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ - errn = decode_iso2MinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest); - exiFrag->MinimumPMaxRequest_isUsed = 1u; - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry); - exiFrag->MinimumPMaxScheduleEntry_isUsed = 1u; - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->MinimumSOC = (int8_t)(uint32 + 0); - exiFrag->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= iso2EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumberOfSensors = (uint8_t)(uint32 + 0); - exiFrag->NumberOfSensors_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - exiFrag->NumberOfSignalPackages_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 203: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 204: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso2ObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->OperationMode = (iso2operationModeType) uint32; - exiFrag->OperationMode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 206: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= iso2EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso2PGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= iso2EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 209: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= iso2EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 210: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ - errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule); - exiFrag->PMaxDischargeSchedule_isUsed = 1u; - break; - case 212: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ - errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->PackageIndex); - exiFrag->PackageIndex_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->PackageSeparationTime = (uint8_t)(uint32 + 0); - exiFrag->PackageSeparationTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 216: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->PairingParameters); - exiFrag->PairingParameters_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = decode_iso2PairingReqType(stream, &exiFrag->PairingReq); - exiFrag->PairingReq_isUsed = 1u; - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = decode_iso2PairingResType(stream, &exiFrag->PairingRes); - exiFrag->PairingRes_isUsed = 1u; - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ - errn = decode_iso2ParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 221: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 222: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ParkingMethod = (iso2parkingMethodType) uint32; - exiFrag->ParkingMethod_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 223: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = decode_iso2PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 224: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = decode_iso2PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 225: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (iso2paymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 226: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ - errn = decode_iso2PaymentOptionListType(stream, &exiFrag->PaymentOptionList); - exiFrag->PaymentOptionList_isUsed = 1u; - break; - case 227: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); - exiFrag->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 228: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso2PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); - exiFrag->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= iso2EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = decode_iso2PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 231: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = decode_iso2PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 232: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->PowerDemandParameters); - exiFrag->PowerDemandParameters_isUsed = 1u; - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = decode_iso2PowerDemandReqType(stream, &exiFrag->PowerDemandReq); - exiFrag->PowerDemandReq_isUsed = 1u; - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = decode_iso2PowerDemandResType(stream, &exiFrag->PowerDemandRes); - exiFrag->PowerDemandRes_isUsed = 1u; - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = decode_iso2PreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = decode_iso2PreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 238: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= iso2EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 239: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso2RSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 241: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso2ReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso2RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 243: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 244: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 245: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 246: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (iso2responseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 247: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso2RetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 248: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 249: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ - errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->RootCertificateID); - exiFrag->RootCertificateID_isUsed = 1u; - break; - case 250: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->RotationVAtoGA); - exiFrag->RotationVAtoGA_isUsed = 1u; - break; - case 251: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ - errn = decode_iso2CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain); - exiFrag->SAProvisioningCertificateChain_isUsed = 1u; - break; - case 252: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 253: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 254: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ - errn = decode_iso2SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 255: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 256: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 257: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso2SPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 258: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= iso2EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 259: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ - errn = decode_iso2SalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 260: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 261: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso2SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 262: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SalesTariffID = (uint8_t)(uint32 + 1); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 263: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= iso2EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 264: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ - errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService); - exiFrag->SelectedEnergyTransferService_isUsed = 1u; - break; - case 265: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (iso2paymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 266: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ - errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 267: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ - errn = decode_iso2SelectedServiceListType(stream, &exiFrag->SelectedVASList); - exiFrag->SelectedVASList_isUsed = 1u; - break; - case 268: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ - errn = decode_iso2SensorType(stream, &exiFrag->Sensor); - exiFrag->Sensor_isUsed = 1u; - break; - case 269: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SensorID = (uint8_t)(uint32 + 0); - exiFrag->SensorID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 270: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ - errn = decode_iso2SensorListType(stream, &exiFrag->SensorList); - exiFrag->SensorList_isUsed = 1u; - break; - case 271: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ - errn = decode_iso2SensorMeasurementsType(stream, &exiFrag->SensorMeasurements); - exiFrag->SensorMeasurements_isUsed = 1u; - break; - case 272: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ - errn = decode_iso2SensorOrderListType(stream, &exiFrag->SensorOrder); - exiFrag->SensorOrder_isUsed = 1u; - break; - case 273: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ - errn = decode_iso2CartesianCoordinatesType(stream, &exiFrag->SensorOrientation); - exiFrag->SensorOrientation_isUsed = 1u; - break; - case 274: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ - errn = decode_iso2SensorPackageType(stream, &exiFrag->SensorPackage); - exiFrag->SensorPackage_isUsed = 1u; - break; - case 275: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ - errn = decode_iso2SensorPackageListType(stream, &exiFrag->SensorPackageList); - exiFrag->SensorPackageList_isUsed = 1u; - break; - case 276: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPosition */ - break; - case 277: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ - errn = decode_iso2ServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 278: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = decode_iso2ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 279: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = decode_iso2ServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 280: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso2ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 281: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso2ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 282: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 283: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 284: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ - errn = decode_iso2ServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 285: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso2EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 286: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso2EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 287: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = decode_iso2SessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 288: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = decode_iso2SessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 289: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = decode_iso2SessionStopReqType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 290: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = decode_iso2SessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 291: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= iso2EXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 292: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SignalFrequency); - exiFrag->SignalFrequency_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 293: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SignalPulseDuration = (uint8_t)(uint32 + 0); - exiFrag->SignalPulseDuration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 294: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SignalSeparationTime = (uint8_t)(uint32 + 0); - exiFrag->SignalSeparationTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 295: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso2SignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 296: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso2SignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 297: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso2SignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 298: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso2SignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 299: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso2SignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 300: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso2SignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 301: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ - errn = decode_iso2SubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 302: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ - errn = decode_iso2ServiceIDListType(stream, &exiFrag->SupportedServiceIDs); - exiFrag->SupportedServiceIDs_isUsed = 1u; - break; - case 303: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = decode_iso2SystemStatusReqType(stream, &exiFrag->SystemStatusReq); - exiFrag->SystemStatusReq_isUsed = 1u; - break; - case 304: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = decode_iso2SystemStatusResType(stream, &exiFrag->SystemStatusRes); - exiFrag->SystemStatusRes_isUsed = 1u; - break; - case 305: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 306: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ - errn = decode_iso2TargetPositionType(stream, &exiFrag->TargetOffset); - exiFrag->TargetOffset_isUsed = 1u; - break; - case 307: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetX); - exiFrag->TargetOffsetX_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 308: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetY); - exiFrag->TargetOffsetY_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 309: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->TargetSOC = (int8_t)(uint32 + 0); - exiFrag->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 310: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso2TransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 311: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso2TransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 312: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = decode_iso2BodyBaseType(stream, &exiFrag->V2GRequest); - exiFrag->V2GRequest_isUsed = 1u; - break; - case 313: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = decode_iso2V2GResponseType(stream, &exiFrag->V2GResponse); - exiFrag->V2GResponse_isUsed = 1u; - break; - case 314: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = decode_iso2AnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 315: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList) */ - errn = decode_iso2ServiceListType(stream, &exiFrag->VASList); - exiFrag->VASList_isUsed = 1u; - break; - case 316: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 317: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = decode_iso2VehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq); - exiFrag->VehicleCheckInReq_isUsed = 1u; - break; - case 318: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = decode_iso2VehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes); - exiFrag->VehicleCheckInRes_isUsed = 1u; - break; - case 319: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = decode_iso2VehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq); - exiFrag->VehicleCheckOutReq_isUsed = 1u; - break; - case 320: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = decode_iso2VehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes); - exiFrag->VehicleCheckOutRes_isUsed = 1u; - break; - case 321: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->VehicleSpace); - exiFrag->VehicleSpace_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 322: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = decode_iso2WPT_EVChargeParameterType(stream, &exiFrag->WPT_EVChargeParameter); - exiFrag->WPT_EVChargeParameter_isUsed = 1u; - break; - case 323: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter); - exiFrag->WPT_EVSEChargeParameter_isUsed = 1u; - break; - case 324: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = decode_iso2WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 325: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = decode_iso2WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 326: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= iso2EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 327: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= iso2EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 328: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso2X509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 329: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 330: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 331: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= iso2EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 332: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 333: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 334: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->XCoordinate); - exiFrag->XCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 335: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, iso2EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 336: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= iso2EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 337: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->YCoordinate); - exiFrag->YCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 338: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ZCoordinate); - exiFrag->ZCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 339: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->amount); - exiFrag->amount_isUsed = 1u; - break; - case 340: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 341: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 342: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (iso2costKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 343: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 344: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ - errn = decode_iso2EMAIDType(stream, &exiFrag->eMAID); - exiFrag->eMAID_isUsed = 1u; - break; - case 345: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 346: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 347: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 348: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 349: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - break; - case 350: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, iso2EXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if (eventCode != 352) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.h b/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.h deleted file mode 100644 index c4d64e0..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_iso2_DATATYPES_DECODER_H -#define EXI_iso2_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "iso2EXIDatatypes.h" - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc); - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.c b/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.c deleted file mode 100644 index d34b268..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.c +++ /dev/null @@ -1,62632 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso2EXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "iso2EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso2_DATATYPES_ENCODER_C -#define EXI_iso2_DATATYPES_ENCODER_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType); -static int encode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType); -static int encode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -static int encode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType); -static int encode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType); -static int encode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -static int encode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType); -static int encode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType); -static int encode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType); -static int encode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -static int encode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -static int encode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -static int encode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType); -static int encode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType); -static int encode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -static int encode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType); -static int encode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType); -static int encode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType); -static int encode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -static int encode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -static int encode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType); -static int encode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -static int encode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -static int encode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -static int encode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType); -static int encode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -static int encode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType); -static int encode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -static int encode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -static int encode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -static int encode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -static int encode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -static int encode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType); -static int encode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType); -static int encode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -static int encode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -static int encode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType); -static int encode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -static int encode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -static int encode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -static int encode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -static int encode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -static int encode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType); -static int encode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType); -static int encode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType); -static int encode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -static int encode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType); -static int encode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType); -static int encode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -static int encode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -static int encode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType); -static int encode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType); -static int encode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType); -static int encode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType); -static int encode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType); -static int encode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType); -static int encode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType); -static int encode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType); -static int encode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType); -static int encode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -static int encode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -static int encode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -static int encode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType); -static int encode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -static int encode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType); -static int encode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -static int encode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -static int encode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType); -static int encode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -static int encode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -static int encode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType); -static int encode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType); -static int encode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -static int encode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -static int encode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -static int encode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -static int encode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -static int encode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType); -static int encode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType); -static int encode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType); -static int encode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -static int encode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType); -static int encode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType); -static int encode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType); -static int encode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType); -static int encode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -static int encode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType); -static int encode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -static int encode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -static int encode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -static int encode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -static int encode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType); -static int encode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -static int encode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -static int encode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType); -static int encode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -static int encode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -static int encode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -static int encode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -static int encode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -static int encode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -static int encode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -static int encode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType); -static int encode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -static int encode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -static int encode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType); -static int encode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType); -static int encode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType); -static int encode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType); -static int encode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -static int encode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType); -static int encode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType); -static int encode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType); -static int encode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -static int encode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -static int encode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType); -static int encode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType); -static int encode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -static int encode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -static int encode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -static int encode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType); -static int encode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType); -static int encode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -static int encode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType); -static int encode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -static int encode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -static int encode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType); -static int encode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType); -static int encode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -static int encode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -static int encode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -static int encode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -static int encode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType); -static int encode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType); -static int encode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -static int encode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -static int encode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -static int encode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType); -static int encode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType); -static int encode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -static int encode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType); -static int encode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -static int encode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -static int encode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType); -static int encode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType); -static int encode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType); -static int encode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType); -static int encode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType); -static int encode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType); -static int encode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType); -static int encode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -static int encode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType); -static int encode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType); -static int encode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -static int encode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType); - - - /* 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_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->Type.characters, iso2RetrievalMethodType->Type.charactersLen); - } - } - grammarID = 1; - } else if ( iso2RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 2; - } else if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 2; - } else if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType) { - 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, iso2AuthorizationResType->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 ( iso2AuthorizationResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AuthorizationResType->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, iso2AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - int grammarID = 8; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - if ( iso2MV_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, iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 9; - } else if ( iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - if ( iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType) { - int grammarID = 10; - int done = 0; - int wcDone = 0; - - unsigned int iso2X509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int iso2X509DataType_X509SKI_currArrayIndex = 0; - unsigned int iso2X509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int iso2X509DataType_X509Certificate_currArrayIndex = 0; - unsigned int iso2X509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ - if (iso2X509DataType_X509IssuerSerial_currArrayIndex < iso2X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array [iso2X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 11; - } else if (iso2X509DataType_X509SKI_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytes, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen); - iso2X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509SubjectName_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].characters, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso2X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509Certificate_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytes, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso2X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509CRL_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytes, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen); - iso2X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso2X509DataType_X509IssuerSerial_currArrayIndex < iso2X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array [iso2X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 11; - } else if (iso2X509DataType_X509SKI_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytes, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen); - iso2X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509SubjectName_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].characters, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso2X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509Certificate_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytes, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso2X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509CRL_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytes, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen); - iso2X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 11; - } else if ( iso2X509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - int grammarID = 12; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 12: - /* 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)(iso2RSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2RSAKeyValueType->Modulus.bytes, iso2RSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 13; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* 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)(iso2RSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2RSAKeyValueType->Exponent.bytes, iso2RSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - int grammarID = 14; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 14: - /* 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, iso2DC_BidirectionalControlResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( iso2DC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2DC_BidirectionalControlResType->EVSEStatus ); - } - grammarID = 16; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentVoltage ); - } - grammarID = 18; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* 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, iso2DC_BidirectionalControlResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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, iso2DC_BidirectionalControlResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* 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, iso2DC_BidirectionalControlResType->EVSEVoltageLimitAchieved); - /* 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: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 ( iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargePower ); - } - grammarID = 22; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower ); - } - grammarID = 23; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower ); - } - grammarID = 23; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_BidirectionalControlResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2DC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType) { - int grammarID = 31; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* 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, iso2CostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 32; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CostType->amount ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - int grammarID = 33; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 33: - /* 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, iso2ChargingStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2ChargingStatusResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ChargingStatusResType->EVSEStatus ); - } - grammarID = 35; - } 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)(iso2ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* 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)(iso2ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->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)(iso2ChargingStatusResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 37; - } else if ( iso2ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo ); - } - grammarID = 38; - } else if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo ); - } - grammarID = 38; - } else if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType) { - int grammarID = 40; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ - 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)(iso2MeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MeterInfoType->MeterID.characters, iso2MeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingCharged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingDischarged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 43; - } else if ( iso2MeterInfoType->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)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingDischarged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 43; - } else if ( iso2MeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_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 = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->SigMeterReading_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)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_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 = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->TMeter_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, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - int grammarID = 46; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 46: - /* 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, iso2AC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargePower ); - } - grammarID = 48; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumChargeCurrent ); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 51; - } else if ( iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 52; - } else if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 52; - } else if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - int grammarID = 54; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalVoltage ); - } - grammarID = 56; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency ); - } - grammarID = 57; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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, iso2VehicleCheckOutResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 60; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - if ( iso2VehicleCheckOutResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2VehicleCheckOutResType->EVSEStatus ); - } - grammarID = 61; - } 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, iso2VehicleCheckOutResType->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* 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, iso2VehicleCheckOutResType->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - int grammarID = 62; - int done = 0; - - unsigned int iso2MagneticVectorListType_MagneticVector_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 63; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 64; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 65; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 67; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 68; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 69; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 70; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 71; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 72; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 73; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 75; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 76; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 77; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 78; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 79; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 80; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 81; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 82; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 82: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 83; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 84; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 85; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 86; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 87; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 88; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 89; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 90; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 91; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 92; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 93; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 94; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 95; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 96; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 97; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 98; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 99; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 213; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 214; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 272; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 273; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 274; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 275; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 276; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 277; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 278; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 279; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 280; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 281; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 282; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 283; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 284; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 285; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 288; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 290; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 291; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 292; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 293; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 294; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 295; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 296; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 297; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 298; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 299; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 300; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 301; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType) { - 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, iso2CableCheckResType->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 ( iso2CableCheckResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CableCheckResType->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, iso2CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - int grammarID = 317; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 317: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ - if ( iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceIDListType(stream, &iso2ServiceDiscoveryReqType->SupportedServiceIDs ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType) { - int grammarID = 318; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 318: - /* 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, iso2ServiceType->ServiceID); - /* 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}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, iso2ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - int grammarID = 320; - int done = 0; - - unsigned int iso2ServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 320: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 321; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 468; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 469; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 470; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 471; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 472; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 473; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 474; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 475; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 476; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 477; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 478; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 479; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 480; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 481; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 482; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 483; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 484; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 485; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 487; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 488; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 489; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 490; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 491; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 492; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 493; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 494; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 495; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 496; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 497; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 498; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 499; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 500; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 501; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 502; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 503; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 504; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 505; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 506; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 507; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 508; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 509; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 510; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 511; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 512; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 513; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 514; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 515; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 516; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 517; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 518; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 519; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 520; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 521; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 522; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 523; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 524; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 525; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 526; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 527; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 528; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 529; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 530; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 531; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 532; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 533; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 534; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 555; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 556; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 557; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 558; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 559; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 560; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 561; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 562; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 563; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 564; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 573; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 574; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - int grammarID = 575; - int done = 0; - - unsigned int iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 575: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ - if (iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array [iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array [iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 576; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - int grammarID = 577; - int done = 0; - - unsigned int iso2SignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 577: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( iso2SignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertiesType->Id.characters, iso2SignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 578; - } else if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 578: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 579: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - int grammarID = 580; - int done = 0; - - unsigned int iso2PMaxScheduleEntryType_PMax_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 580: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2PMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 582; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 583; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType) { - int grammarID = 584; - int done = 0; - - unsigned int iso2SignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 584: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( iso2SignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureType->Id.characters, iso2SignatureType->Id.charactersLen); - } - } - grammarID = 585; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo ); - } - grammarID = 586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 585: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo ); - } - grammarID = 586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 586: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &iso2SignatureType->SignatureValue ); - } - grammarID = 587; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 587: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( iso2SignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &iso2SignatureType->KeyInfo ); - } - grammarID = 588; - } else if (iso2SignatureType_Object_currArrayIndex < iso2SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &iso2SignatureType->Object.array [iso2SignatureType_Object_currArrayIndex++]); - } - grammarID = 588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 588: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (iso2SignatureType_Object_currArrayIndex < iso2SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &iso2SignatureType->Object.array [iso2SignatureType_Object_currArrayIndex++]); - } - grammarID = 588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - int grammarID = 589; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 589: - /* 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, iso2VehicleCheckInReqType->EVCheckInStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 590; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ - if ( iso2VehicleCheckInReqType->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, iso2VehicleCheckInReqType->ParkingMethod); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 591: - /* 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, iso2ConnectChargingDeviceResType->ResponseCode); - /* 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:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2ConnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ConnectChargingDeviceResType->EVSEStatus ); - } - grammarID = 593; - } 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, iso2ConnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 593: - /* 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, iso2ConnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 594: - /* 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, iso2ConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2ConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - int grammarID = 596; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 596: - /* 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, iso2WeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( iso2WeldingDetectionResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2WeldingDetectionResType->EVSEStatus ); - } - grammarID = 598; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2SessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2SessionStopResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SessionStopResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - int grammarID = 601; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 601: - /* 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, iso2VehicleCheckInResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 602; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - if ( iso2VehicleCheckInResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2VehicleCheckInResType->EVSEStatus ); - } - grammarID = 603; - } 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, iso2VehicleCheckInResType->VehicleSpace); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 603: - /* 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, iso2VehicleCheckInResType->VehicleSpace); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ - if ( iso2VehicleCheckInResType->TargetOffset_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TargetPositionType(stream, &iso2VehicleCheckInResType->TargetOffset ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType) { - int grammarID = 605; - int done = 0; - - unsigned int iso2ServiceListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 606; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 607; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 608; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 609; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 610; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 611; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 612; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - int grammarID = 613; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 613: - /* 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, iso2CertificateUpdateResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 614; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( iso2CertificateUpdateResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CertificateUpdateResType->EVSEStatus ); - } - grammarID = 615; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 616; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 616; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 617; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 618; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateUpdateResType->DHpublickey ); - } - grammarID = 619; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &iso2CertificateUpdateResType->eMAID ); - } - grammarID = 620; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ - if ( iso2CertificateUpdateResType->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, iso2CertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - int grammarID = 621; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 621: - /* 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, iso2FinePositioningSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 622; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2FinePositioningSetupResType->EVSEStatus ); - } - grammarID = 623; - } else if ( iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - int grammarID = 624; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 624: - /* 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, iso2AC_EVBidirectionalParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 625; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargePower ); - } - grammarID = 626; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 627; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); - } - grammarID = 628; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest ); - } - grammarID = 629; - } else if ( iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 630; - } else if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 630; - } else if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 633; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 634; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - int grammarID = 635; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 635: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetEnergyRequest ); - } - grammarID = 636; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest ); - } - grammarID = 637; - } else if ( iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 638; - } else if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 638; - } else if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetVoltage ); - } - grammarID = 641; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumVoltage ); - } - grammarID = 642; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumVoltage ); - } - grammarID = 643; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 644; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); - } - grammarID = 645; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 646; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 646; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - int grammarID = 647; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 647: - /* 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)(iso2CertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateUpdateReqType->Id.characters, iso2CertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 648; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 648: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 649; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 649: - /* 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)(iso2CertificateUpdateReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateUpdateReqType->eMAID.characters, iso2CertificateUpdateReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 650; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - int grammarID = 651; - int done = 0; - - unsigned int iso2ConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 651: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ConsumptionCostType->startValue ); - } - grammarID = 652; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 653; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 654; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType) { - int grammarID = 655; - int done = 0; - - unsigned int iso2SAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 655: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 656; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 657; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - int grammarID = 658; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 658: - /* 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)(iso2MagneticVectorSetupType->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MagneticVectorSetupType->GAID.characters, iso2MagneticVectorSetupType->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 659; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 659: - /* 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, iso2MagneticVectorSetupType->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,"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_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - int grammarID = 660; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 660: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 661; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorList ); - } - grammarID = 662; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorOrder ); - } - grammarID = 663; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 663: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 664; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 664: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 665; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 665: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 666; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 666: - /* 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, iso2LFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 667; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 667: - /* 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, iso2LFA_EVSEFinePositioningSetupParametersType->SignalFrequency); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - int grammarID = 668; - int done = 0; - - unsigned int iso2PaymentOptionListType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 668: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ - if (iso2PaymentOptionListType_PaymentOption_currArrayIndex < iso2PaymentOptionListType->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, iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 669; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (iso2PaymentOptionListType_PaymentOption_currArrayIndex < iso2PaymentOptionListType->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, iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_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_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 670: - /* 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)(iso2LFA_EVSEFinePositioningParametersType->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 671; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &iso2LFA_EVSEFinePositioningParametersType->SensorPackageList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - int grammarID = 672; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 672: - /* 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, iso2RelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 673; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ - if ( iso2RelativeTimeIntervalType->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, iso2RelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - int grammarID = 675; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 675: - /* 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, iso2AlignmentCheckReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - if ( iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2AlignmentCheckReqType->AlignmentCheckParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - int grammarID = 677; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 677: - /* 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)(iso2CertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateInstallationReqType->Id.characters, iso2CertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 678; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 678: - /* 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)(iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateInstallationReqType->OEMProvisioningCert.bytes, iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 650; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType) { - int grammarID = 679; - int done = 0; - - unsigned int iso2TransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 679: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (iso2TransformsType_Transform_currArrayIndex < iso2TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &iso2TransformsType->Transform.array [iso2TransformsType_Transform_currArrayIndex++]); - } - grammarID = 680; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 680: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (iso2TransformsType_Transform_currArrayIndex < iso2TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &iso2TransformsType->Transform.array [iso2TransformsType_Transform_currArrayIndex++]); - } - grammarID = 680; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType) { - int grammarID = 681; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 681: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Encoding.characters, iso2ObjectType->Encoding.charactersLen); - } - } - grammarID = 682; - } else if ( iso2ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Id.characters, iso2ObjectType->Id.charactersLen); - } - } - grammarID = 683; - } else if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 682: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Id.characters, iso2ObjectType->Id.charactersLen); - } - } - grammarID = 683; - } else if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 683: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -static int encode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType) { - int grammarID = 686; - int done = 0; - - unsigned int iso2SensorOrderListType_SensorPosition_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 686: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.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)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 687; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 688; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 689; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 690; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 691; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 692; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 693; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 694; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 695; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 696; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 697; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 698; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 699; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 700; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 701; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 702; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 703; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 704; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 705; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 706; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 707; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 708; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 709; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 710; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 711; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 712; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 713; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 714; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 715; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 716; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 717; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 718; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 719; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 720; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 721; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 722; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 723; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 724; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 725; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 726; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 727; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 728; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 729; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 730; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 731; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 732; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 733; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 734; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 735; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 736; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 737; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 738; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 739; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 740; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 741; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 742; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 743; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 744; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 745; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 746; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 747; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 748; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 749; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 750; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 751; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 752; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 753; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 754; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 755; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 756; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 757; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 758; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 759; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 760; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 761; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 762; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 763; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 764; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 765; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 766; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 767; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 768; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 769; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 770; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 771; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 772; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 773; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 774; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 775; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 776; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 777; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 778; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 779; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 780; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 781; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 782; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 783; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 784; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 785; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 786; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 787; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 788; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 788: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 789; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 790; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 791; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 792; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 793; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 794; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 795; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 796; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 797; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 797: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 798; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 798: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 799; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 800; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 801; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 802; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 803; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 804; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 805; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 805: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 806; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 807; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 808; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 809; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 810; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 810: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 811; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 812; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 812: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 813; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 814; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 815; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 816; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 816: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 817; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 818; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 819; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 820; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 820: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 821; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 822; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 823; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 824; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 824: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 825; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 826; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 827; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 828; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 828: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 829; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 829: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 830; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 830: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 831; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 832; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 833; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 834; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 835; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 836; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 837; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 838; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 839; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 840; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 841; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 842; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 843; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 844; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 845; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 846; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 847; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 847: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 848; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 848: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 849; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 849: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 850; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 850: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 851; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 852; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 853; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 854; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 854: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 855; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 855: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 856; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 856: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 857; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 857: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 858; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 859; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 860; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 861; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 862; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 862: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 863; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 864; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 864: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 865; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 866; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 867; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 867: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 868; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 869; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 870; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 871; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 872; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 873; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 874; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 874: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 875; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 876; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 877; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 877: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 878; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 878: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 879; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 880; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 880: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 881; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 881: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 882; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 883; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 883: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 884; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 885; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 887; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 888; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 888: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 889; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 890; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 891; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 892; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 893; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 894; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 895; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 896; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 897; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 898; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 899; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 899: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 900; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 900: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 901; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 902; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 903; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 904; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 905; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 906; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 907; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 908; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 909; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 910; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 911; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 912; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 912: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 913; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 914; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 915; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 916; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 917; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 918; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 919; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 920; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 921; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 922; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 923; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 924; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 925; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 926; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 927; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 928; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 929; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 930; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 930: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 931; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 932; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 933; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 933: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 934; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 935; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 936; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 937; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 938; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 938: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 939; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 940; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 940: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - int grammarID = 941; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryReqType->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)(iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints - 12)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 942; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); - } - grammarID = 943; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); - } - grammarID = 943; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ - if ( iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MinimumPMaxRequestType(stream, &iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType) { - int grammarID = 944; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 944: - /* 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)(iso2ParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ParameterType->Name.characters, iso2ParameterType->Name.charactersLen); - } - } - grammarID = 945; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 945: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue)] */ - if ( iso2ParameterType->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, iso2ParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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)(iso2ParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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, iso2ParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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, iso2ParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ParameterType->physicalValue ); - } - grammarID = 3; - } else if ( iso2ParameterType->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)(iso2ParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ParameterType->stringValue.characters, iso2ParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType) { - int grammarID = 946; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 946: - /* 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, iso2SessionStopReqType->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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":MeasurementDataList)', derivedBy='RESTRICTION'. */ -static int encode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - int grammarID = 947; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 947: - /* 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)(iso2SensorMeasurementsType->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 948; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 948: - /* 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)(iso2SensorMeasurementsType->EffectiveRadiatedPower + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 949; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MeasurementDataListType(stream, &iso2SensorMeasurementsType->MeasurementDataList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - int grammarID = 950; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 950: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargePower ); - } - grammarID = 951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 952; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumChargeCurrent ); - } - grammarID = 953; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumVoltage ); - } - grammarID = 954; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumVoltage ); - } - grammarID = 955; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 956; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 957; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 957; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType) { - int grammarID = 958; - int done = 0; - - unsigned int iso2SensorPackageListType_SensorPackage_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 958: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 959; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 959: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 960; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 960: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 961; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 962; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 962: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 963; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 963: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 964: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 965; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 965: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 966; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 967; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 967: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 968; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 969; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 970; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 971; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 972; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 973; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 974; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 975; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 976; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 977; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 978; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 979; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 980; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 981; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 982; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 983; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 983: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 984; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 985; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 986; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 986: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 987; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 987: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 988; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 988: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 989; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 989: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 990; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 990: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 991; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 992; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 993; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 994; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 994: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 995; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 996; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 997; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 998; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 999; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1000; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1001; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1002; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1003; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1004; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1005; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1006; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1007; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1008; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1009; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1010; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1011; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1012; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1013; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1014; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1014: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1015; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1015: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1016; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1016: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1017; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1017: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1018; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1019; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1020; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1021; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1022; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1023; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1024; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1025; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1026; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1027; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1028; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1029; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1030; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1031; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1032; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1033; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1034; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1035; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1036; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1037; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1038; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1039; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1040; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1041; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1042; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1043; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1044; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1045; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1046; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1047; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1048; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1049; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1050; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1051; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1052; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1053; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1054; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1055; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1056; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1057; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1058; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1059; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1060; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1061; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1062; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1063; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1064; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1065; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1066; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1067; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1068; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1069; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1070; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1071; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1072; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1073; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1074; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1075; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1076; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1077; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1078; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1079; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1080; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1081; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1082; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1083; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1084; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1085; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1086; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1087; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1088; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1089; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1090; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1091; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1092; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1093; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1094; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1095; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1096; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1097; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1098; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1099; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -static int encode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - int grammarID = 1213; - int done = 0; - - unsigned int iso2MeasurementDataListType_MeasurementData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1213: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1272; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1273; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1274; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1275; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1276; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1277; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1278; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1279; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1280; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1281; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1282; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1283; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1284; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1285; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1288; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1290; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1291; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1292; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1293; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1294; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1295; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1296; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1297; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1298; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1299; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1300; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1301; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1317; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1318; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1319; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1320; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1321; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType) { - int grammarID = 1468; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1468: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - if ( iso2CertificateChainType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CertificateChainType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateChainType->Id.characters, iso2CertificateChainType->Id.charactersLen); - } - } - grammarID = 1469; - } 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)(iso2CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateChainType->Certificate.bytes, iso2CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1470; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1469: - /* 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)(iso2CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateChainType->Certificate.bytes, iso2CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1470; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( iso2CertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SubCertificatesType(stream, &iso2CertificateChainType->SubCertificates ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - int grammarID = 1471; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1471: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( iso2SignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Id.characters, iso2SignaturePropertyType->Id.charactersLen); - } - } - grammarID = 1472; - } 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)(iso2SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 1473; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1472: - /* 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)(iso2SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 1473; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1473: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1474; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1474: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1474; - } 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_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType) { - int grammarID = 1475; - int done = 0; - int wcDone = 0; - - unsigned int iso2TransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1475: - /* 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)(iso2TransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->Algorithm.characters, iso2TransformType->Algorithm.charactersLen); - } - } - grammarID = 1476; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1476: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2TransformType_XPath_currArrayIndex < iso2TransformType->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)(iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].characters, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen); - iso2TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1477; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1477; - } else if ( iso2TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->ANY.characters, iso2TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1477; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1477: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2TransformType_XPath_currArrayIndex < iso2TransformType->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)(iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].characters, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen); - iso2TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1477; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1477; - } else if ( iso2TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->ANY.characters, iso2TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1477; - } 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_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType) { - int grammarID = 1478; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1478: - /* 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)(iso2EMAIDType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2EMAIDType->Id.characters, iso2EMAIDType->Id.charactersLen); - } - } - grammarID = 1479; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1479: - /* 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)(iso2EMAIDType->CONTENT.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2EMAIDType->CONTENT.characters, iso2EMAIDType->CONTENT.charactersLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - int grammarID = 1480; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1480: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->P.bytes, iso2DSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1481; - } else if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->G.bytes, iso2DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1482; - } 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1481: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Q.bytes, iso2DSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1484; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1484: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->G.bytes, iso2DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1482; - } 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1482: - /* 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1483: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->J.bytes, iso2DSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1485; - } else if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Seed.bytes, iso2DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1485: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Seed.bytes, iso2DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1486: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->PgenCounter.bytes, iso2DSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType) { - int grammarID = 1487; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1487: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2EntryType->RelativeTimeInterval ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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: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_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType) { - int grammarID = 1488; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1488: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016: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)(iso2MessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MessageHeaderType->SessionID.bytes, iso2MessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1489; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1489: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso2MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &iso2MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - int grammarID = 1490; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1490: - /* 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, iso2WPT_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1491; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumPower ); - } - grammarID = 1492; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumPower ); - } - grammarID = 1493; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 1494; - } else if ( iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1495; - } else if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1495; - } else if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1496: - /* 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, iso2DisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); - /* 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: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, iso2DisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - int grammarID = 1498; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1498: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVTargetEnergyRequest ); - } - grammarID = 1499; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMaximumEnergyRequest ); - } - grammarID = 1500; - } else if ( iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest ); - } - grammarID = 1501; - } else if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest ); - } - grammarID = 1501; - } else if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2MeteringReceiptResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2MeteringReceiptResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2MeteringReceiptResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType) { - int grammarID = 1502; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1502: - /* 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, iso2SessionSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1503; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2SessionSetupResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SessionSetupResType->EVSEStatus ); - } - grammarID = 1504; - } 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)(iso2SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1505; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1504: - /* 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)(iso2SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType->EVSEID.charactersLen); - } - /* 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}EVSETimeStamp), END_ELEMENT] */ - if ( iso2SessionSetupResType->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, iso2SessionSetupResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - int grammarID = 1506; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1506: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVTargetEnergyRequest ); - } - grammarID = 1507; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest ); - } - grammarID = 1508; - } else if ( iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 1509; - } else if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 1509; - } else if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 1513; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 1514; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 1514; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); - } - grammarID = 1515; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent ); - } - grammarID = 1516; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent ); - } - grammarID = 1516; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent ); - } - grammarID = 1517; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower ); - } - grammarID = 1518; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower ); - } - grammarID = 1518; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentReactivePower ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - int grammarID = 1519; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1519: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorListType(stream, &iso2MV_EVSEFinePositioningParametersType->MagneticVectorList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType) { - int grammarID = 1520; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1520: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Id.characters, iso2ReferenceType->Id.charactersLen); - } - } - grammarID = 1521; - } else if ( iso2ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Type.characters, iso2ReferenceType->Type.charactersLen); - } - } - grammarID = 1522; - } else if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1521: - /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Type.characters, iso2ReferenceType->Type.charactersLen); - } - } - grammarID = 1522; - } else if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1522: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1523: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1524: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1525: - /* 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)(iso2ReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2ReferenceType->DigestValue.bytes, iso2ReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - int grammarID = 1526; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1526: - /* 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)(iso2MeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MeteringReceiptReqType->Id.characters, iso2MeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 1527; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1527: - /* 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)(iso2MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeteringReceiptReqType->SessionID.bytes, iso2MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1528; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - if ( iso2MeteringReceiptReqType->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)(iso2MeteringReceiptReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1529; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType) { - int grammarID = 1530; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1530: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue ); - } - grammarID = 1531; - } else if ( iso2KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue ); - } - grammarID = 1531; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1531; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1532; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1531: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1531; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1532: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue ); - } - grammarID = 1531; - } else if ( iso2KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue ); - } - grammarID = 1531; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1531; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1532; - } 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_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType) { - int grammarID = 1533; - int done = 0; - - unsigned int iso2SensorListType_Sensor_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1533: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1534; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1555; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1556; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1557; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1558; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1559; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1560; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1561; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1562; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1563; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1564; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1573; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1574; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1575; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1576; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1577; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1578; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1578: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1579; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1580; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1581; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1582; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1583; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1584; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1585; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1585: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1586; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1587; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1587: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1589; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1589: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1590; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1591; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1592; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1593; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1594; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1595; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1596; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1597; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1598; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1599; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1599: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1600; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1601; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1601: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1602; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1603; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1604; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1605; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1605: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1606; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1607; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1608; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1609; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1610; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1611; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1612; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1613; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1613: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1614; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1615; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1616; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1617; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1618; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1619; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1620; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1621; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1621: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1622; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1623; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1624; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1624: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1625; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1626; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1627; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1628; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1629; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1630; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1631; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1632; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1633; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1634; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1635; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1635: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1636; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1637; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1638; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1639; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1640; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1641; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1642; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1643; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1644; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1645; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1646; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1647; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1647: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1648; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1648: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1649; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1650; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1651; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1651: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1652; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1653; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1654; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1655; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1655: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1656; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1657; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1658; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1658: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1659; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1660; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1660: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1661; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1662; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1663; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1664; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1665; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1666; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1667; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1668; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1668: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1669; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1670; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1670: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1671; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1672; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1672: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1673; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1674; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1674: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1675; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1675: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1676; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1677; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1677: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1678; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1678: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1679; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1679: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1680; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1680: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1681; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1681: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1682; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1682: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1683; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1683: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1684; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1684: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1685; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1685: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1686; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1686: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1687; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1688; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1689; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1690; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1691; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1692; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1693; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1694; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1695; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1696; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1697; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1698; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1699; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1700; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1701; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1702; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1703; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1704; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1705; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1706; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1707; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1708; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1709; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1710; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1711; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1712; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1713; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1714; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1715; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1716; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1717; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1718; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1719; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1720; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1721; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1722; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1723; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1724; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1725; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1726; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1727; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1728; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1729; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1730; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1731; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1732; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1733; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1734; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1735; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1736; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1737; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1738; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1739; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1740; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1741; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1742; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1743; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1744; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1745; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1746; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1747; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1748; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1749; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1750; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1751; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1752; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1753; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1754; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1755; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1756; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1757; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1758; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1759; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1760; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1761; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1762; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1763; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1764; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1765; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1766; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1767; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1768; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1769; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1770; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1771; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1772; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1773; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1774; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1775; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1776; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1777; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1778; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1779; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1780; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1781; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1782; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1783; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1784; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1785; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1786; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1787; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - int grammarID = 1788; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1788: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetEnergyRequest ); - } - grammarID = 1789; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumEnergyRequest ); - } - grammarID = 1790; - } else if ( iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1791; - } else if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1791; - } else if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 1794; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumCurrent ); - } - grammarID = 1795; - } else if ( iso2CurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower ); - } - grammarID = 1796; - } else if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower ); - } - grammarID = 1796; - } else if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - int grammarID = 1797; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1797: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,"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_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - int grammarID = 1798; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1798: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1799; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorList ); - } - grammarID = 1800; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorOrder ); - } - grammarID = 1801; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1801: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1802; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1802: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1803; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1803: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1804; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1804: - /* 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, iso2LFA_EVFinePositioningSetupParametersType->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - int grammarID = 1805; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1805: - /* 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)(iso2SAScheduleTupleType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1806; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxSchedule ); - } - grammarID = 1807; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxDischargeSchedule ); - } - grammarID = 1808; - } else if ( iso2SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff ); - } - grammarID = 1809; - } else if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff ); - } - grammarID = 1809; - } else if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - int grammarID = 1810; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1810: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMaximumPower ); - } - grammarID = 1811; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMinimumPower ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType) { - int grammarID = 1812; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1812: - /* 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, iso2FinePositioningResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1813; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2FinePositioningResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2FinePositioningResType->EVSEStatus ); - } - grammarID = 1814; - } 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, iso2FinePositioningResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1815; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1814: - /* 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, iso2FinePositioningResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1815; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ - if ( iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2Generic_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->Generic_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->LFA_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->MV_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - int grammarID = 1816; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1816: - /* 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, iso2ServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1817; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - if ( iso2ServiceDetailResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ServiceDetailResType->EVSEStatus ); - } - grammarID = 1818; - } 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, iso2ServiceDetailResType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1819; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1818: - /* 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, iso2ServiceDetailResType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1819; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ - if ( iso2ServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceParameterListType(stream, &iso2ServiceDetailResType->ServiceParameterList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - int grammarID = 1820; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1820: - /* 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, iso2PowerDeliveryReqType->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1821; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->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, iso2PowerDeliveryReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1822; - } else if ( iso2PowerDeliveryReqType->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)(iso2PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1823; - } else if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->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)(iso2PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1823; - } else if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType) { - int grammarID = 1824; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1824: - /* 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, iso2PairingResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1825; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2PairingResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PairingResType->EVSEStatus ); - } - grammarID = 1826; - } 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, iso2PairingResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1826: - /* 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, iso2PairingResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - if ( iso2PairingResType->PairingParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PairingResType->PairingParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - int grammarID = 1828; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1828: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso2AuthorizationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2AuthorizationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2AuthorizationReqType->Id.characters, iso2AuthorizationReqType->Id.charactersLen); - } - } - grammarID = 1829; - } else if ( iso2AuthorizationReqType->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)(iso2AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytes, iso2AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1829: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso2AuthorizationReqType->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)(iso2AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytes, iso2AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType) { - int grammarID = 1830; - int done = 0; - - unsigned int iso2ParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1830: - /* 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, iso2ParameterSetType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1831; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1832; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1833; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1834; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1835; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1836; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1837; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1838; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1839; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1840; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1841; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1842; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1843; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1844; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1845; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1846; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType) { - int grammarID = 1847; - int done = 0; - int wcDone = 0; - - unsigned int iso2SPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1847: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1848: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1849; - } else if ( iso2SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1849: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else if ( iso2SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - int grammarID = 1850; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1850: - /* 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, iso2PaymentDetailsResType->ResponseCode); - /* 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}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - if ( iso2PaymentDetailsResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PaymentDetailsResType->EVSEStatus ); - } - grammarID = 1852; - } 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)(iso2PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytes, iso2PaymentDetailsResType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1853; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1852: - /* 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)(iso2PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytes, iso2PaymentDetailsResType->GenChallenge.bytesLen); - } - /* 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}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, iso2PaymentDetailsResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType) { - int grammarID = 1854; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1854: - /* 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)(iso2SignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->Algorithm.characters, iso2SignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 1855; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1855: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2SignatureMethodType->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, iso2SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 685; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1856; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1856: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2SignatureMethodType->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, iso2SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 685; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1856; - } 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_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - int grammarID = 1857; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1857: - /* 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, iso2AC_BidirectionalControlResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1858; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2AC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AC_BidirectionalControlResType->EVSEStatus ); - } - grammarID = 1859; - } 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, iso2AC_BidirectionalControlResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1860; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1859: - /* 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, iso2AC_BidirectionalControlResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1860; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetPower ); - } - grammarID = 1861; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetReactivePower ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2AC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2AC_BidirectionalControlResType->EVSEID.characters, iso2AC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_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)(iso2AC_BidirectionalControlResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2AC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - int grammarID = 1862; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1862: - /* 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, iso2VehicleCheckOutReqType->EVCheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1863; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1863: - /* 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, iso2VehicleCheckOutReqType->CheckOutTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - int grammarID = 1864; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1864: - /* 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, iso2AlignmentCheckResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1865; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2AlignmentCheckResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AlignmentCheckResType->EVSEStatus ); - } - grammarID = 1866; - } 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, iso2AlignmentCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1866: - /* 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, iso2AlignmentCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - if ( iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2AlignmentCheckResType->AlignmentCheckParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - int grammarID = 1867; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1867: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetEnergyRequest ); - } - grammarID = 1868; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMaximumEnergyRequest ); - } - grammarID = 1869; - } else if ( iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1870; - } else if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1870; - } else if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVInputPower ); - } - grammarID = 1873; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandReqType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandReqType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - int grammarID = 1874; - int done = 0; - - unsigned int iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1874: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 1875; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 1876; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 591: - /* 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, iso2DisconnectChargingDeviceResType->ResponseCode); - /* 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:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2DisconnectChargingDeviceResType->EVSEStatus ); - } - grammarID = 593; - } 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, iso2DisconnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 593: - /* 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, iso2DisconnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 594: - /* 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, iso2DisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2DisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - int grammarID = 1877; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1877: - /* 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)(iso2SessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SessionSetupReqType->EVCCID.bytes, iso2SessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - int grammarID = 1878; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1878: - /* 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)(iso2PaymentDetailsReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2PaymentDetailsReqType->eMAID.characters, iso2PaymentDetailsReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1879; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2PaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2Generic_EVFinePositioningParametersType->GenericParameters ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1496: - /* 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, iso2ConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); - /* 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: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, iso2ConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - int grammarID = 1881; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1881: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 1882; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalVoltage ); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalFrequency ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - int grammarID = 1883; - int done = 0; - - unsigned int iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1883: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2SalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 1884; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if ( iso2SalesTariffEntryType->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)(iso2SalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1885; - } else if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1887; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - int grammarID = 1888; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1888: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargePower ); - } - grammarID = 1889; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 1890; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent ); - } - grammarID = 1891; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumVoltage ); - } - grammarID = 1892; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumVoltage ); - } - grammarID = 1893; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 1894; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 1895; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 1895; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - if ( iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 1896; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); - } - grammarID = 1897; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); - } - grammarID = 1897; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); - } - grammarID = 1898; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - int grammarID = 1899; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1899: - /* 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)(iso2CanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->Algorithm.characters, iso2CanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 684; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType) { - int grammarID = 1900; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1900: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->CurrentRange); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1901; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1902; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 12); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1902; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 11); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 10); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - int grammarID = 1912; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1912: - /* 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, iso2DC_EVBidirectionalParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1913; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargePower ); - } - grammarID = 1914; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower ); - } - grammarID = 1915; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower ); - } - grammarID = 1915; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); - } - grammarID = 1917; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 1918; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest ); - } - grammarID = 1919; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1920; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1920; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); - } - grammarID = 1928; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumVoltage ); - } - grammarID = 1929; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - int grammarID = 1930; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1930: - /* 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, iso2PaymentServiceSelectionReqType->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1931; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2PaymentServiceSelectionReqType->SelectedEnergyTransferService ); - } - grammarID = 1932; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ - if ( iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceListType(stream, &iso2PaymentServiceSelectionReqType->SelectedVASList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType) { - int grammarID = 1933; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1933: - /* 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)(iso2MagneticVectorType->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MagneticVectorType->GAID.characters, iso2MagneticVectorType->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1934; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ - 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, iso2MagneticVectorType->Distance); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1935; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->AngleGAtoVA ); - } - grammarID = 1936; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->RotationVAtoGA ); - } - grammarID = 1937; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1937: - /* 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, iso2MagneticVectorType->FODStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType) { - int grammarID = 1938; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1938: - /* 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)(iso2PhysicalValueType->Exponent + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1939; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1939: - /* 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, iso2PhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - int grammarID = 1940; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1940: - /* 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, iso2SystemStatusReqType->OperationMode); - /* 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: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, iso2SystemStatusReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType) { - int grammarID = 1941; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1941: - /* 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, iso2SystemStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1942; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - if ( iso2SystemStatusResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SystemStatusResType->EVSEStatus ); - } - grammarID = 1943; - } 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, iso2SystemStatusResType->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1943: - /* 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, iso2SystemStatusResType->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2SystemStatusResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,EVSEFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2V2GResponseType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2V2GResponseType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2V2GResponseType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType) { - int grammarID = 1944; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1944: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes)] */ - if ( iso2BodyType->AC_BidirectionalControlReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_iso2AC_BidirectionalControlReqType(stream, &iso2BodyType->AC_BidirectionalControlReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AC_BidirectionalControlRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_iso2AC_BidirectionalControlResType(stream, &iso2BodyType->AC_BidirectionalControlRes ); - } - grammarID = 3; - } else if ( iso2BodyType->AlignmentCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_iso2AlignmentCheckReqType(stream, &iso2BodyType->AlignmentCheckReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AlignmentCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_iso2AlignmentCheckResType(stream, &iso2BodyType->AlignmentCheckRes ); - } - grammarID = 3; - } else if ( iso2BodyType->AuthorizationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &iso2BodyType->AuthorizationReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AuthorizationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &iso2BodyType->AuthorizationRes ); - } - grammarID = 3; - } else if ( iso2BodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &iso2BodyType->BodyElement ); - } - grammarID = 3; - } else if ( iso2BodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_iso2CableCheckReqType(stream, &iso2BodyType->CableCheckReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &iso2BodyType->CableCheckRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &iso2BodyType->CertificateInstallationReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &iso2BodyType->CertificateInstallationRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &iso2BodyType->CertificateUpdateReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &iso2BodyType->CertificateUpdateRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &iso2BodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &iso2BodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &iso2BodyType->ChargingStatusReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(stream, &iso2BodyType->ChargingStatusRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ConnectChargingDeviceReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_iso2ConnectChargingDeviceReqType(stream, &iso2BodyType->ConnectChargingDeviceReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ConnectChargingDeviceRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_iso2ConnectChargingDeviceResType(stream, &iso2BodyType->ConnectChargingDeviceRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &iso2BodyType->CurrentDemandReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(stream, &iso2BodyType->CurrentDemandRes ); - } - grammarID = 3; - } else if ( iso2BodyType->DC_BidirectionalControlReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_iso2DC_BidirectionalControlReqType(stream, &iso2BodyType->DC_BidirectionalControlReq ); - } - grammarID = 3; - } else if ( iso2BodyType->DC_BidirectionalControlRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_iso2DC_BidirectionalControlResType(stream, &iso2BodyType->DC_BidirectionalControlRes ); - } - grammarID = 3; - } else if ( iso2BodyType->DisconnectChargingDeviceReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_iso2DisconnectChargingDeviceReqType(stream, &iso2BodyType->DisconnectChargingDeviceReq ); - } - grammarID = 3; - } else if ( iso2BodyType->DisconnectChargingDeviceRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_iso2DisconnectChargingDeviceResType(stream, &iso2BodyType->DisconnectChargingDeviceRes ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &iso2BodyType->FinePositioningReq ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &iso2BodyType->FinePositioningRes ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &iso2BodyType->FinePositioningSetupReq ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &iso2BodyType->FinePositioningSetupRes ); - } - grammarID = 3; - } else if ( iso2BodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &iso2BodyType->MeteringReceiptReq ); - } - grammarID = 3; - } else if ( iso2BodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &iso2BodyType->MeteringReceiptRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PairingReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &iso2BodyType->PairingReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PairingRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &iso2BodyType->PairingRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &iso2BodyType->PaymentDetailsReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &iso2BodyType->PaymentDetailsRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentServiceSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &iso2BodyType->PaymentServiceSelectionReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentServiceSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 36); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &iso2BodyType->PaymentServiceSelectionRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 37); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &iso2BodyType->PowerDeliveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 38); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &iso2BodyType->PowerDeliveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 39); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &iso2BodyType->PowerDemandReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 40); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &iso2BodyType->PowerDemandRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 41); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &iso2BodyType->PreChargeReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 42); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &iso2BodyType->PreChargeRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 43); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &iso2BodyType->ServiceDetailReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 44); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &iso2BodyType->ServiceDetailRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 45); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &iso2BodyType->ServiceDiscoveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 46); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &iso2BodyType->ServiceDiscoveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 47); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &iso2BodyType->SessionSetupReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 48); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &iso2BodyType->SessionSetupRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 49); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &iso2BodyType->SessionStopReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 50); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &iso2BodyType->SessionStopRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SystemStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 51); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &iso2BodyType->SystemStatusReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SystemStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 52); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &iso2BodyType->SystemStatusRes ); - } - grammarID = 3; - } else if ( iso2BodyType->V2GRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 53); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &iso2BodyType->V2GRequest ); - } - grammarID = 3; - } else if ( iso2BodyType->V2GResponse_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 54); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &iso2BodyType->V2GResponse ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckInReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 55); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &iso2BodyType->VehicleCheckInReq ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckInRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 56); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &iso2BodyType->VehicleCheckInRes ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckOutReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 57); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &iso2BodyType->VehicleCheckOutReq ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckOutRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 58); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &iso2BodyType->VehicleCheckOutRes ); - } - grammarID = 3; - } else if ( iso2BodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 59); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &iso2BodyType->WeldingDetectionReq ); - } - grammarID = 3; - } else if ( iso2BodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 60); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &iso2BodyType->WeldingDetectionRes ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType) { - int grammarID = 596; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 596: - /* 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, iso2PreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( iso2PreChargeResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PreChargeResType->EVSEStatus ); - } - grammarID = 598; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2PaymentServiceSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2PaymentServiceSelectionResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PaymentServiceSelectionResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType) { - int grammarID = 1899; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1899: - /* 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)(iso2DigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->Algorithm.characters, iso2DigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 684; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->ANY.characters, iso2DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->ANY.characters, iso2DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType) { - int grammarID = 1945; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1945: - /* 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, iso2TargetPositionType->TargetOffsetX); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1946; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1946: - /* 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, iso2TargetPositionType->TargetOffsetY); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 670: - /* 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)(iso2LFA_EVFinePositioningParametersType->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 671; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &iso2LFA_EVFinePositioningParametersType->SensorPackageList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - int grammarID = 1947; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1947: - /* 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, iso2DC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1948; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargePower ); - } - grammarID = 1949; - } else if ( iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower ); - } - grammarID = 1950; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower ); - } - grammarID = 1950; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1950: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargeCurrent ); - } - grammarID = 1952; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 1953; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 1954; - } else if ( iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1955; - } else if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1955; - } else if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1958: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - int grammarID = 1959; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1959: - /* 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, iso2ServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType) { - int grammarID = 1960; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1960: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetVoltage ); - } - grammarID = 1961; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType) { - int grammarID = 1962; - int done = 0; - - unsigned int iso2ManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1962: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( iso2ManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ManifestType->Id.characters, iso2ManifestType->Id.charactersLen); - } - } - grammarID = 1963; - } else if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1963: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - int grammarID = 1965; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1965: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MessageHeaderType(stream, &iso2AnonType_V2G_Message->Header ); - } - grammarID = 1966; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2BodyType(stream, &iso2AnonType_V2G_Message->Body ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - int grammarID = 1967; - int done = 0; - - unsigned int iso2SelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1967: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1968; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1969; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1970; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1971; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1972; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1973; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1974; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1975; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1976; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1977; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1978; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1979; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1980; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1981; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1982; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2Generic_EVSEFinePositioningParametersType->GenericParameters ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - int grammarID = 1983; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1983: - /* 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, iso2CartesianCoordinatesType->XCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1984; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1984: - /* 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, iso2CartesianCoordinatesType->YCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1985; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1985: - /* 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, iso2CartesianCoordinatesType->ZCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType) { - int grammarID = 1986; - int done = 0; - int wcDone = 0; - - unsigned int iso2KeyInfoType_KeyName_currArrayIndex = 0; - unsigned int iso2KeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int iso2KeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int iso2KeyInfoType_X509Data_currArrayIndex = 0; - unsigned int iso2KeyInfoType_PGPData_currArrayIndex = 0; - unsigned int iso2KeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int iso2KeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1986: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->Id.characters, iso2KeyInfoType->Id.charactersLen); - } - } - grammarID = 1987; - } else if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1987: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1988: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1988; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1989: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } 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,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_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType) { - int grammarID = 1990; - int done = 0; - - unsigned int iso2SubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1990: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1991; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1992; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1993; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - int grammarID = 1994; - int done = 0; - - unsigned int iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1994: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1995; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1996; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1997; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1998; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1999; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2000; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2001; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2002; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2003; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2004; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2005; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2006; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2007; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2008; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2009; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2010; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2011; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2012; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2013; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - int grammarID = 2014; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2014: - /* 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, iso2EVEnergyTransferParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 2015; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2015: - /* 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)(iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ContractSignatureEncryptedPrivateKeyType->Id.characters, iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - } - } - grammarID = 2016; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - int grammarID = 2017; - int done = 0; - - unsigned int iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2017: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2018; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2019; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2020; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2021; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2022; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2023; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2024; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2025; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2026; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2027; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2028; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2029; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2030; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2031; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2032; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2033; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2034; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2035; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2036; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2037; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2038; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2039; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2040; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2041; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2042; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2043; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2044; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2045; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2046; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2047; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2048; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2049; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2050; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2051; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2052; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2053; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2054; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2055; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2056; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2057; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2058; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2059; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2060; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2061; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2062; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2063; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2064; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2065; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2066; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2067; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2068; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2069; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2070; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2071; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2072; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2073; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2074; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2075; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2076; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2077; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2078; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2079; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2080; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2081; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2082; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2083; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2084; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2085; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2086; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2087; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2088; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2089; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2090; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2091; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2092; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2093; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2094; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2095; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2096; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2097; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2098; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2099; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2213; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2214; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType) { - int grammarID = 2272; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2272: - /* 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, iso2PairingReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - if ( iso2PairingReqType->PairingParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PairingReqType->PairingParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - int grammarID = 2273; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2273: - /* 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, iso2CurrentDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( iso2CurrentDemandResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CurrentDemandResType->EVSEStatus ); - } - grammarID = 2275; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 2276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 2276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 2277; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2277: - /* 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, iso2CurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2278; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2278: - /* 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, iso2CurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2279; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2279: - /* 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, iso2CurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumPower ); - } - grammarID = 2281; - } else if ( iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent ); - } - grammarID = 2282; - } else if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent ); - } - grammarID = 2282; - } else if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->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)(iso2CurrentDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - int grammarID = 2283; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2283: - /* 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)(iso2X509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509IssuerSerialType->X509IssuerName.characters, iso2X509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2284: - /* 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, iso2X509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - int grammarID = 2285; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2285: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVTargetEnergyRequest ); - } - grammarID = 2286; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumEnergyRequest ); - } - grammarID = 2287; - } else if ( iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest ); - } - grammarID = 2288; - } else if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest ); - } - grammarID = 2288; - } else if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - int grammarID = 2292; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2292: - /* 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, iso2CertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2293; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( iso2CertificateInstallationResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CertificateInstallationResType->EVSEStatus ); - } - grammarID = 2294; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 2295; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 2295; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 2296; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateInstallationResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 2297; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateInstallationResType->DHpublickey ); - } - grammarID = 2298; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &iso2CertificateInstallationResType->eMAID ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType) { - int grammarID = 2299; - int done = 0; - - unsigned int iso2SensorPackageType_SensorMeasurements_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2299: - /* 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, iso2SensorPackageType->PackageIndex); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2300; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2301; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2317; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2318; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2319; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2320; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2321; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2468; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2469; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2470; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2471; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2472; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2473; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2474; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2475; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2476; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2477; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2478; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2479; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2480; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2481; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2482; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2483; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2484; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2485; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2487; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2488; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2489; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2490; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2491; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2492; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2493; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2494; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2495; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2496; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2497; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2498; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2499; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2500; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2501; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2502; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2503; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2504; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2505; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2506; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2507; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2508; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2509; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2510; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2511; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2512; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2513; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2514; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2515; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2516; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2517; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2518; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2519; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2520; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2521; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2522; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2523; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2524; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2525; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2526; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2527; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2528; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2529; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2530; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2531; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2532; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2533; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2534; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType) { - int grammarID = 2555; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 2555: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyID.bytes, iso2PGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2556; - } else if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytes, iso2PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2557; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2556: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytes, iso2PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2557; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2557; - } else if ( iso2PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2557: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2557; - } else if ( iso2PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - int grammarID = 2558; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2558: - /* 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, iso2ServiceDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2559; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - if ( iso2ServiceDiscoveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ServiceDiscoveryResType->EVSEStatus ); - } - grammarID = 2560; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 2561; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 2561; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->EnergyTransferServiceList ); - } - grammarID = 2562; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ - if ( iso2ServiceDiscoveryResType->VASList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->VASList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType) { - int grammarID = 2563; - int done = 0; - - unsigned int iso2ServiceIDListType_ServiceID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2563: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2564; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - int grammarID = 2573; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2573: - /* 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, iso2ChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2574; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ChargeParameterDiscoveryResType->EVSEStatus ); - } - grammarID = 2575; - } 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, iso2ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2575: - /* 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, iso2ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &iso2ChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 2577; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType) { - int grammarID = 2578; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2578: - /* 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, iso2PowerDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - if ( iso2PowerDemandResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PowerDemandResType->EVSEStatus ); - } - grammarID = 2580; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower ); - } - grammarID = 2581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower ); - } - grammarID = 2581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2581: - /* 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)(iso2PowerDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2PowerDemandResType->EVSEID.characters, iso2PowerDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2582; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->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)(iso2PowerDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2583; - } else if ( iso2PowerDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo ); - } - grammarID = 2584; - } else if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo ); - } - grammarID = 2584; - } else if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType) { - int grammarID = 2585; - int done = 0; - - unsigned int iso2ChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2585: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ - if (iso2ChargingProfileType_ProfileEntry_currArrayIndex < iso2ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array [iso2ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 2586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso2ChargingProfileType_ProfileEntry_currArrayIndex < iso2ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array [iso2ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 2586; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - int grammarID = 2587; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2587: - /* 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, iso2FinePositioningReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2588; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), END_ELEMENT] */ - if ( iso2FinePositioningReqType->EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->EVFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2Generic_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->Generic_EVFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->LFA_EVFinePositioningParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType) { - int grammarID = 2589; - int done = 0; - - unsigned int iso2SalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2589: - /* 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)(iso2SalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SalesTariffType->Id.characters, iso2SalesTariffType->Id.charactersLen); - } - } - grammarID = 2590; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2590: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016: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)(iso2SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2591; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if ( iso2SalesTariffType->SalesTariffDescription_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)(iso2SalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SalesTariffType->SalesTariffDescription.characters, iso2SalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2592; - } else if ( iso2SalesTariffType->NumEPriceLevels_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2593; - } else if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if ( iso2SalesTariffType->NumEPriceLevels_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)(iso2SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2593; - } else if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType) { - int grammarID = 2595; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2595: - /* 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)(iso2SensorType->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2596; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorPosition ); - } - grammarID = 2597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorOrientation ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType) { - int grammarID = 2598; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2598: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( iso2SignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureValueType->Id.characters, iso2SignatureValueType->Id.charactersLen); - } - } - grammarID = 2016; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SignatureValueType->CONTENT.bytes, iso2SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SignatureValueType->CONTENT.bytes, iso2SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType) { - int grammarID = 2599; - int done = 0; - - unsigned int iso2SignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2599: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( iso2SignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignedInfoType->Id.characters, iso2SignedInfoType->Id.charactersLen); - } - } - grammarID = 2600; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod ); - } - grammarID = 2601; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2600: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod ); - } - grammarID = 2601; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2601: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &iso2SignedInfoType->SignatureMethod ); - } - grammarID = 2602; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2602: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso2SignedInfoType_Reference_currArrayIndex < iso2SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array [iso2SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso2SignedInfoType_Reference_currArrayIndex < iso2SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array [iso2SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - 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, iso2PowerDeliveryResType->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 ( iso2PowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PowerDeliveryResType->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, iso2PowerDeliveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2PowerDeliveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType) { - int grammarID = 2603; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2603: - /* 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, iso2SelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2604: - /* 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, iso2SelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - int grammarID = 2015; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2015: - /* 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)(iso2DiffieHellmanPublickeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DiffieHellmanPublickeyType->Id.characters, iso2DiffieHellmanPublickeyType->Id.charactersLen); - } - } - grammarID = 2016; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DiffieHellmanPublickeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DiffieHellmanPublickeyType->CONTENT.bytes, iso2DiffieHellmanPublickeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType) { - int grammarID = 2605; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2605: - /* 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, iso2EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2606; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2606: - /* 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, iso2EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - 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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter ); - } - } 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_iso2AlignmentCheckReqType(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_iso2AlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes ); - } - } else if ( exiDoc->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &exiDoc->AuthorizationReq ); - } - } else if ( exiDoc->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &exiDoc->AuthorizationRes ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_iso2CableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 20); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(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_iso2ConnectChargingDeviceReqType(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_iso2ConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 24); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(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_iso2DC_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_iso2DC_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_iso2DC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter ); - } - } 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_iso2DC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter ); - } - } else if ( exiDoc->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq ); - } - } 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_iso2DisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes ); - } - } 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_iso2EVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter ); - } - } else if ( exiDoc->EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters ); - } - } else if ( exiDoc->EVFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters ); - } - } else if ( exiDoc->EVSEEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter ); - } - } else if ( exiDoc->EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters ); - } - } else if ( exiDoc->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters ); - } - } else if ( exiDoc->FinePositioningReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &exiDoc->FinePositioningReq ); - } - } else if ( exiDoc->FinePositioningRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &exiDoc->FinePositioningRes ); - } - } else if ( exiDoc->FinePositioningSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq ); - } - } else if ( exiDoc->FinePositioningSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes ); - } - } else if ( exiDoc->Generic_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_iso2Generic_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, 48); - if(errn == 0) { - errn = encode_iso2Generic_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, 49); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->LFA_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_iso2LFA_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, 53); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters ); - } - } else if ( exiDoc->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiDoc->LFA_EVSEFinePositioningParameters ); - } - } else if ( exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters ); - } - } else if ( exiDoc->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 56); - if(errn == 0) { - errn = encode_iso2MV_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, 57); - if(errn == 0) { - errn = encode_iso2MV_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, 58); - if(errn == 0) { - errn = encode_iso2ManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PairingReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &exiDoc->PairingReq ); - } - } else if ( exiDoc->PairingRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &exiDoc->PairingRes ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq ); - } - } else if ( exiDoc->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PowerDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &exiDoc->PowerDemandReq ); - } - } else if ( exiDoc->PowerDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &exiDoc->PowerDemandRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 77); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 80); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 81); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiDoc->SAScheduleList ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 82); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 83); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 84); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 85); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 86); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 87); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 88); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 89); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 90); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 91); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 92); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 93); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 94); - if(errn == 0) { - errn = encode_iso2SignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 95); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 96); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 97); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->SystemStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 98); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &exiDoc->SystemStatusReq ); - } - } else if ( exiDoc->SystemStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 99); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &exiDoc->SystemStatusRes ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 100); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 101); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2GRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 102); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiDoc->V2GRequest ); - } - } else if ( exiDoc->V2GResponse_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = encodeNBitUnsignedInteger(stream, 7, 103); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &exiDoc->V2GResponse ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 104); - if(errn == 0) { - errn = encode_iso2AnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } else if ( exiDoc->VehicleCheckInReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 105); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq ); - } - } else if ( exiDoc->VehicleCheckInRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 106); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes ); - } - } else if ( exiDoc->VehicleCheckOutReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 107); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq ); - } - } else if ( exiDoc->VehicleCheckOutRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 108); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes ); - } - } else if ( exiDoc->WPT_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 109); - if(errn == 0) { - errn = encode_iso2WPT_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, 110); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter ); - } - } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 111); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 112); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 113); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - 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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 5); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AlignmentCheckParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 6); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->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_iso2AlignmentCheckReqType(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_iso2AlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes ); - } - } else if ( exiFrag->AlignmentOffset_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ - errn = encodeNBitUnsignedInteger(stream, 9, 9); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2PhysicalValueType(stream, &exiFrag->AngleGAtoVA ); - } - } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 11); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &exiFrag->AuthorizationReq ); - } - } else if ( exiFrag->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 12); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &exiFrag->AuthorizationRes ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 9, 13); - if(errn == 0) { - errn = encode_iso2BodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 9, 14); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 9, 15); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 16); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2SalesTariffType(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_iso2CableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 19); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 20); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 21); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 22); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 23); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 24); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 25); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 26); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 27); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeProgress_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 9, 29); - if(errn == 0) { - /* 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_iso2PhysicalValueType(stream, &exiFrag->ChargingPerformance ); - } - } else if ( exiFrag->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 9, 31); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &exiFrag->ChargingProfile ); - } - } else if ( exiFrag->ChargingSession_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 33); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 34); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(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_iso2ConnectChargingDeviceReqType(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_iso2ConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 9, 38); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 9, 39); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 9, 40); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey ); - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 9, 41); - if(errn == 0) { - errn = encode_iso2CostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 42); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 43); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(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 = encodeNBitUnsignedInteger(stream, 9, 45); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DC_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_iso2DC_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_iso2DC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 49); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter ); - } - } 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_iso2DC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 51); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DHpublickey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ - errn = encodeNBitUnsignedInteger(stream, 9, 52); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 53); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 55); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DisconnectChargingDeviceReqType(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_iso2DisconnectChargingDeviceResType(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_iso2DisplayParametersType(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) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->Distance); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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, 2, exiFrag->EVCheckInStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCheckOutStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 64); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVCheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVElectricalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 65); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 66); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter ); - } - } else if ( exiFrag->EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 67); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters ); - } - } else if ( exiFrag->EVFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 68); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters ); - } - } else if ( exiFrag->EVInputPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 69); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVInputPower ); - } - } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 70); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent ); - } - } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 71); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent ); - } - } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 72); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower ); - } - } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 73); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower ); - } - } else if ( exiFrag->EVMaximumCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 74); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumCurrent ); - } - } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 75); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 76); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 77); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower ); - } - } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 78); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower ); - } - } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 79); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest ); - } - } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 80); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest ); - } - } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 81); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower ); - } - } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 82); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower ); - } - } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 83); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage ); - } - } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 84); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage ); - } - } else if ( exiFrag->EVMechanicalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 85); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 86); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent ); - } - } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 87); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent ); - } - } else if ( exiFrag->EVMinimumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 88); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargePower ); - } - } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 89); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 90); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVMinimumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 91); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargePower ); - } - } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 92); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest ); - } - } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 93); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest ); - } - } else if ( exiFrag->EVMinimumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 94); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumPower ); - } - } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 95); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage ); - } - } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 96); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage ); - } - } else if ( exiFrag->EVOperation_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ - errn = encodeNBitUnsignedInteger(stream, 9, 97); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVPresentActivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 98); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVPresentActivePower ); - } - } else if ( exiFrag->EVPresentReactivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 99); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVPresentReactivePower ); - } - } else if ( exiFrag->EVProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 9, 100); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSECheckOutStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 101); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSECurrentLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 102); - 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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 9, 103); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEElectricalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 9, 105); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 106); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter ); - } - } else if ( exiFrag->EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 107); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters ); - } - } else if ( exiFrag->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 108); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 109); - 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->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->EVSEID.characters, exiFrag->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 110); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 111); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 112); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower ); - } - } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 113); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower ); - } - } else if ( exiFrag->EVSEMaximumCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 114); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 115); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 116); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 117); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower ); - } - } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 118); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower ); - } - } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 119); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower ); - } - } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 120); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower ); - } - } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 121); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage ); - } - } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 122); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage ); - } - } else if ( exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 123); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 124); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent ); - } - } else if ( exiFrag->EVSEMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 125); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMinimumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 126); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumPower ); - } - } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 127); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage ); - } - } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 128); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage ); - } - } else if ( exiFrag->EVSENominalFrequency_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ - errn = encodeNBitUnsignedInteger(stream, 9, 129); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalFrequency ); - } - } else if ( exiFrag->EVSENominalVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 130); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalVoltage ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 9, 131); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 132); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEOutputPower ); - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 9, 133); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple ); - } - } else if ( exiFrag->EVSEPowerLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 134); - 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); - } - } - } else if ( exiFrag->EVSEPresentCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 135); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 136); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 9, 137); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 138); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSETargetPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 139); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetPower ); - } - } else if ( exiFrag->EVSETargetReactivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 140); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetReactivePower ); - } - } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ - errn = encodeNBitUnsignedInteger(stream, 9, 141); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 142); - 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->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 143); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 144); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest ); - } - } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 145); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest ); - } - } else if ( exiFrag->EVTargetPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 146); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetPower ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 147); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EffectiveRadiatedPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 148); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EffectiveRadiatedPower + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EnergyTransferServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 149); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &exiFrag->EnergyTransferServiceList ); - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - 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, 152); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FODStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FinePositioningReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 153); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &exiFrag->FinePositioningReq ); - } - } else if ( exiFrag->FinePositioningRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 154); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &exiFrag->FinePositioningRes ); - } - } else if ( exiFrag->FinePositioningSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 155); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq ); - } - } else if ( exiFrag->FinePositioningSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 156); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes ); - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 157); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FrequencyChannel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ - errn = encodeNBitUnsignedInteger(stream, 9, 158); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 9, 159); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 160); - 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->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->GAID.characters, exiFrag->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 9, 161); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->GenChallenge.bytes, exiFrag->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenericParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 162); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->GenericParameters ); - } - } else if ( exiFrag->Generic_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 163); - if(errn == 0) { - errn = encode_iso2Generic_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, 164); - if(errn == 0) { - errn = encode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters ); - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 9, 165); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 9, 166); - if(errn == 0) { - errn = encode_iso2MessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->InletHot_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ - errn = encodeNBitUnsignedInteger(stream, 9, 167); - 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, 9, 168); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 169); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 170); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 171); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->LFA_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 172); - if(errn == 0) { - errn = encode_iso2LFA_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, 173); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters ); - } - } else if ( exiFrag->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 174); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiFrag->LFA_EVSEFinePositioningParameters ); - } - } else if ( exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 175); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 9, 176); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 177); - if(errn == 0) { - errn = encode_iso2MV_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, 178); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->MagneticVector_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ - errn = encodeNBitUnsignedInteger(stream, 9, 179); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &exiFrag->MagneticVector ); - } - } else if ( exiFrag->MagneticVectorList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 180); - if(errn == 0) { - errn = encode_iso2MagneticVectorListType(stream, &exiFrag->MagneticVectorList ); - } - } else if ( exiFrag->MagneticVectorSetup_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ - errn = encodeNBitUnsignedInteger(stream, 9, 181); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup ); - } - } else if ( exiFrag->MagneticVectorSetupList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 182); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 183); - if(errn == 0) { - errn = encode_iso2ManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MaxSupportingPoints_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ - errn = encodeNBitUnsignedInteger(stream, 9, 184); - 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, 185); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->MeasurementData); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeasurementDataList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 186); - if(errn == 0) { - errn = encode_iso2MeasurementDataListType(stream, &exiFrag->MeasurementDataList ); - } - } else if ( exiFrag->MeterID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 187); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 188); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReadingCharged_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ - errn = encodeNBitUnsignedInteger(stream, 9, 189); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 190); - 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:2016:MsgDataTypes}MeterStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 191); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 192); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 193); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 194); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MinimumPMaxRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 195); - if(errn == 0) { - errn = encode_iso2MinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest ); - } - } else if ( exiFrag->MinimumPMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 196); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry ); - } - } else if ( exiFrag->MinimumSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 197); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 198); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 9, 199); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 9, 200); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumberOfSensors_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ - errn = encodeNBitUnsignedInteger(stream, 9, 201); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumberOfSignalPackages_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ - errn = encodeNBitUnsignedInteger(stream, 9, 202); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 9, 203); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 9, 204); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->OperationMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ - errn = encodeNBitUnsignedInteger(stream, 9, 205); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 9, 206); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 207); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 208); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 9, 209); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 9, 210); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->PMax ); - } - } else if ( exiFrag->PMaxDischargeSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 9, 211); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule ); - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 9, 212); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 213); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->PackageIndex_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ - errn = encodeNBitUnsignedInteger(stream, 9, 214); - 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 = encodeNBitUnsignedInteger(stream, 9, 215); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PairingParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 216); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->PairingParameters ); - } - } else if ( exiFrag->PairingReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 217); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &exiFrag->PairingReq ); - } - } else if ( exiFrag->PairingRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 218); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &exiFrag->PairingRes ); - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 219); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 9, 220); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 221); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ParkingMethod_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 222); - 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:2016:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 223); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 224); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 9, 225); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptionList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 226); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &exiFrag->PaymentOptionList ); - } - } else if ( exiFrag->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 227); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq ); - } - } else if ( exiFrag->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 228); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 229); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 230); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 231); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PowerDemandParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 232); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->PowerDemandParameters ); - } - } else if ( exiFrag->PowerDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 233); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &exiFrag->PowerDemandReq ); - } - } else if ( exiFrag->PowerDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 234); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &exiFrag->PowerDemandRes ); - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 235); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 236); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 237); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 9, 238); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* 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, 9, 239); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 9, 240); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 9, 241); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 9, 242); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval ); - } - } else if ( exiFrag->RemainingTimeToBulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 243); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 244); - 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, 245); - 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:2016:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 9, 246); - 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, 9, 247); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 248); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 249); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &exiFrag->RootCertificateID ); - } - } else if ( exiFrag->RotationVAtoGA_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ - errn = encodeNBitUnsignedInteger(stream, 9, 250); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->RotationVAtoGA ); - } - } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ - errn = encodeNBitUnsignedInteger(stream, 9, 251); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain ); - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 252); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 253); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 9, 254); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 255); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 256); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 257); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 9, 258); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 9, 259); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 9, 260); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 261); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 262); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 9, 263); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedEnergyTransferService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 264); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService ); - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 9, 265); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 266); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedVASList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 267); - if(errn == 0) { - errn = encode_iso2SelectedServiceListType(stream, &exiFrag->SelectedVASList ); - } - } else if ( exiFrag->Sensor_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ - errn = encodeNBitUnsignedInteger(stream, 9, 268); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &exiFrag->Sensor ); - } - } else if ( exiFrag->SensorID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 269); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SensorList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 270); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &exiFrag->SensorList ); - } - } else if ( exiFrag->SensorMeasurements_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ - errn = encodeNBitUnsignedInteger(stream, 9, 271); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &exiFrag->SensorMeasurements ); - } - } else if ( exiFrag->SensorOrder_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ - errn = encodeNBitUnsignedInteger(stream, 9, 272); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &exiFrag->SensorOrder ); - } - } else if ( exiFrag->SensorOrientation_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ - errn = encodeNBitUnsignedInteger(stream, 9, 273); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &exiFrag->SensorOrientation ); - } - } else if ( exiFrag->SensorPackage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 274); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &exiFrag->SensorPackage ); - } - } else if ( exiFrag->SensorPackageList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 275); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &exiFrag->SensorPackageList ); - } - } else if ( exiFrag->SensorPosition_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPosition */ - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 9, 277); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 278); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 279); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 280); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 281); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 282); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 283); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceParameterList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 284); - if(errn == 0) { - errn = encode_iso2ServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 285); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 286); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 287); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 288); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 289); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 290); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 9, 291); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SignalFrequency_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ - errn = encodeNBitUnsignedInteger(stream, 9, 292); - 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 = encodeNBitUnsignedInteger(stream, 9, 293); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SignalSeparationTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ - errn = encodeNBitUnsignedInteger(stream, 9, 294); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 9, 295); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 296); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 9, 297); - if(errn == 0) { - errn = encode_iso2SignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 9, 298); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 299); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 300); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 9, 301); - if(errn == 0) { - errn = encode_iso2SubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->SupportedServiceIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ - errn = encodeNBitUnsignedInteger(stream, 9, 302); - if(errn == 0) { - errn = encode_iso2ServiceIDListType(stream, &exiFrag->SupportedServiceIDs ); - } - } else if ( exiFrag->SystemStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 303); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &exiFrag->SystemStatusReq ); - } - } else if ( exiFrag->SystemStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 304); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &exiFrag->SystemStatusRes ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 305); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->TargetOffset_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ - errn = encodeNBitUnsignedInteger(stream, 9, 306); - if(errn == 0) { - errn = encode_iso2TargetPositionType(stream, &exiFrag->TargetOffset ); - } - } else if ( exiFrag->TargetOffsetX_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ - errn = encodeNBitUnsignedInteger(stream, 9, 307); - 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, 308); - 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 = encodeNBitUnsignedInteger(stream, 9, 309); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 9, 310); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 9, 311); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->V2GRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 312); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiFrag->V2GRequest ); - } - } else if ( exiFrag->V2GResponse_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = encodeNBitUnsignedInteger(stream, 9, 313); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &exiFrag->V2GResponse ); - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 9, 314); - if(errn == 0) { - errn = encode_iso2AnonType_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, 315); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &exiFrag->VASList ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 9, 316); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->VehicleCheckInReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 317); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq ); - } - } else if ( exiFrag->VehicleCheckInRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 318); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes ); - } - } else if ( exiFrag->VehicleCheckOutReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 319); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq ); - } - } else if ( exiFrag->VehicleCheckOutRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 320); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes ); - } - } else if ( exiFrag->VehicleSpace_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ - errn = encodeNBitUnsignedInteger(stream, 9, 321); - 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, 322); - if(errn == 0) { - errn = encode_iso2WPT_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, 323); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter ); - } - } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 324); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 325); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 9, 326); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 327); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 9, 328); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 329); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 9, 330); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 9, 331); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 9, 332); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 333); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->XCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 334); - 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, 9, 335); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 9, 336); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->YCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ - 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->YCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ZCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 338); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 339); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->amount ); - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 340); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 341); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 9, 342); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 9, 343); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->eMAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 344); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &exiFrag->eMAID ); - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 345); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 346); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 347); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 9, 348); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 349); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->startValue ); - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 350); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 9, 352); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.h b/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.h deleted file mode 100644 index 38236d2..0000000 --- a/Port/vc2022/src/iso2/iso2EXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_iso2_DATATYPES_ENCODER_H -#define EXI_iso2_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "iso2EXIDatatypes.h" - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc); - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/test/main.c b/Port/vc2022/src/test/main.c deleted file mode 100644 index 40da85d..0000000 --- a/Port/vc2022/src/test/main.c +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

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

- * - ********************************************************************/ - -#include -#include - -#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); -#elif CODE_VERSION == CODE_VERSION_SAMPLE - /* V2G client / service example */ - return main_example(argc, argv); -#endif - -} - diff --git a/Port/vc2022/src/test/main.h b/Port/vc2022/src/test/main.h deleted file mode 100644 index 5245c88..0000000 --- a/Port/vc2022/src/test/main.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - * - ********************************************************************/ - - -#define CODE_VERSION_EXI 1 -#define CODE_VERSION_SAMPLE 2 -#define CODE_VERSION CODE_VERSION_EXI - -#ifndef MAIN_H_ -#define MAIN_H_ - -// Global debug mode variable -extern int EXI_DEBUG_MODE; - -#if CODE_VERSION == CODE_VERSION_EXI -int main_databinder(int argc, char *argv[]); -#elif CODE_VERSION == CODE_VERSION_SAMPLE -int main_example(int argc, char *argv[]); -#endif - -#endif diff --git a/Port/vc2022/src/test/main_databinder.c b/Port/vc2022/src/test/main_databinder.c deleted file mode 100644 index fb2bbef..0000000 --- a/Port/vc2022/src/test/main_databinder.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/******************************************************************* - * - *

Sample program to illustrate how to read an EXI stream and - * directly write it again to an output

- * - *

e.g., in.exi out.exi

- ********************************************************************/ - -#include -#include -#include -#include - -/* schema-dependent */ -#include "iso1EXIDatatypes.h" -#if DEPLOY_ISO1_CODEC == SUPPORT_YES -#include "iso1EXIDatatypesEncoder.h" -#include "iso1EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#include "iso2EXIDatatypes.h" -#if DEPLOY_ISO2_CODEC == SUPPORT_YES -#include "iso2EXIDatatypesEncoder.h" -#include "iso2EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - -#include "ByteStream.h" - -/** EXI Debug mode */ -int EXI_DEBUG_MODE = 0; - -#define BUFFER_SIZE 4096 -uint8_t bufferIn[BUFFER_SIZE]; -uint8_t bufferOut[BUFFER_SIZE]; - - -# define DEBUG_PRINTF(x) do { if (EXI_DEBUG_MODE) printf x; } while (0) - - -int main_databinder(int argc, char *argv[]) { - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - struct iso1EXIDocument exi1Doc; -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - struct iso2EXIDocument exi2Doc; -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - int errn = 0; - - bitstream_t iStream, oStream; - -#if EXI_STREAM == BYTE_ARRAY - size_t posDecode; - size_t posEncode; -#endif /* EXI_STREAM == BYTE_ARRAY */ - - -#if EXI_DEBUG == 1 - /* The Eclipse console has buffering problems on Windows e.g, Debug mode */ - setvbuf(stdout, NULL, _IONBF, 0); - setvbuf(stderr, NULL, _IONBF, 0); -#endif /*EXI_DEBUG*/ - - // Check for debug option - if (argc >= 2 && strcmp(argv[1], "-debug") == 0) { - EXI_DEBUG_MODE = 1; - // Shift arguments - if (argc != 4) { - printf("Usage: %s [-debug] exiInput exiOutput\n", argv[0]); - printf(" -debug: Enable detailed bit-level encoding/decoding output\n"); - return -1; - } - argv[1] = argv[2]; - argv[2] = argv[3]; - argc = 3; - } else if (argc != 3) { - printf("Usage: %s [-debug] exiInput exiOutput\n", argv[0]); - printf(" -debug: Enable detailed bit-level encoding/decoding output\n"); - return -1; - } - -#if EXI_STREAM == BYTE_ARRAY - /* input pos */ - posDecode = 0; - /* parse EXI stream to internal byte structures */ - errn = readBytesFromFile(argv[1], bufferIn, BUFFER_SIZE, &posDecode); - if (errn != 0) { - printf("Problems while reading file into buffer, err==%d\n", errn); - return errn; - } - posDecode = 0; /* reset position */ -#endif /* EXI_STREAM == BYTE_ARRAY */ - - /* setup input stream */ -#if EXI_STREAM == BYTE_ARRAY - iStream.size = BUFFER_SIZE; - iStream.data = bufferIn; - iStream.pos = &posDecode; -#endif /* EXI_STREAM == BYTE_ARRAY */ - - iStream.buffer = 0; - iStream.capacity = 0; - - - printf("Start decoding EXI stream to databinding layer \n"); -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - errn = decode_iso1ExiDocument(&iStream, &exi1Doc); -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - errn = decode_iso2ExiDocument(&iStream, &exi2Doc); -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - if (errn != 0) { - printf("Problems while decoding EXI stream, err==%d\n", errn); - return errn; - } - -#if EXI_STREAM == BYTE_ARRAY - /* setup output stream */ - posEncode = 0; - oStream.size = BUFFER_SIZE; - oStream.data = bufferOut; - oStream.pos = &posEncode; -#endif - - oStream.buffer = 0; - oStream.capacity = 8; - - printf("Start encoding databinding layer to EXI \n"); -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - errn = encode_iso1ExiDocument(&oStream, &exi1Doc); -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - errn = encode_iso2ExiDocument(&oStream, &exi2Doc); -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - if (errn != 0) { - printf("Problems while encoding databinding layer, err==%d\n", errn); - return errn; - } - - printf("EXI roundtrip done with success\n"); -#if EXI_STREAM == BYTE_ARRAY - /* write to file */ - writeBytesToFile(oStream.data, posEncode, argv[2]); -#endif - - - return errn; -} - - diff --git a/Port/vc2022/src/test/main_example.c b/Port/vc2022/src/test/main_example.c deleted file mode 100644 index 52b839e..0000000 --- a/Port/vc2022/src/test/main_example.c +++ /dev/null @@ -1,2572 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - * - ********************************************************************/ - - - -#include -#include -#include - -#include - -#include "EXITypes.h" - -#include "appHandEXIDatatypes.h" -#include "appHandEXIDatatypesEncoder.h" -#include "appHandEXIDatatypesDecoder.h" - -/* Activate support for DIN */ -#include "dinEXIDatatypes.h" -#if DEPLOY_DIN_CODEC == SUPPORT_YES -#include "dinEXIDatatypesEncoder.h" -#include "dinEXIDatatypesDecoder.h" -#endif /* DEPLOY_DIN_CODEC == SUPPORT_YES */ - -/* Activate support for XMLDSIG */ -#include "xmldsigEXIDatatypes.h" -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES -#include "xmldsigEXIDatatypesEncoder.h" -#include "xmldsigEXIDatatypesDecoder.h" -#endif /* DEPLOY_XMLDSIG_CODEC == SUPPORT_YES */ - -/* Activate support for ISO1 */ -#include "iso1EXIDatatypes.h" -#if DEPLOY_ISO1_CODEC == SUPPORT_YES -#include "iso1EXIDatatypesEncoder.h" -#include "iso1EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ - -/* Activate support for ISO2 */ -#include "iso2EXIDatatypes.h" -#if DEPLOY_ISO2_CODEC == SUPPORT_YES -#include "iso2EXIDatatypesEncoder.h" -#include "iso2EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - -#include "v2gtp.h" - -#define BUFFER_SIZE 256 -uint8_t buffer1[BUFFER_SIZE]; -uint8_t buffer2[BUFFER_SIZE]; - -#define ERROR_UNEXPECTED_REQUEST_MESSAGE -601 -#define ERROR_UNEXPECTED_SESSION_SETUP_RESP_MESSAGE -602 -#define ERROR_UNEXPECTED_SERVICE_DISCOVERY_RESP_MESSAGE -602 -#define ERROR_UNEXPECTED_SERVICE_DETAILS_RESP_MESSAGE -603 -#define ERROR_UNEXPECTED_PAYMENT_SERVICE_SELECTION_RESP_MESSAGE -604 -#define ERROR_UNEXPECTED_PAYMENT_DETAILS_RESP_MESSAGE -605 -#define ERROR_UNEXPECTED_AUTHORIZATION_RESP_MESSAGE -606 -#define ERROR_UNEXPECTED_CHARGE_PARAMETER_DISCOVERY_RESP_MESSAGE -607 -#define ERROR_UNEXPECTED_POWER_DELIVERY_RESP_MESSAGE -608 -#define ERROR_UNEXPECTED_CHARGING_STATUS_RESP_MESSAGE -609 -#define ERROR_UNEXPECTED_METERING_RECEIPT_RESP_MESSAGE -610 -#define ERROR_UNEXPECTED_SESSION_STOP_RESP_MESSAGE -611 -#define ERROR_UNEXPECTED_CABLE_CHECK_RESP_MESSAGE -612 -#define ERROR_UNEXPECTED_PRE_CHARGE_RESP_MESSAGE -612 -#define ERROR_UNEXPECTED_CURRENT_DEMAND_RESP_MESSAGE -613 -#define ERROR_UNEXPECTED_WELDING_DETECTION_RESP_MESSAGE -614 - - -static int writeStringToEXIString(char* string, exi_string_character_t* exiString) { - int pos = 0; - while(string[pos]!='\0') - { - exiString[pos] = string[pos]; - pos++; - } - - return pos; -} - -static void printASCIIString(exi_string_character_t* string, uint16_t len) { - unsigned int i; - for(i=0; idata, &payloadLengthDec)) == 0) { - *iStream->pos = V2GTP_HEADER_LENGTH; - if( (errn = decode_appHandExiDocument(iStream, &exiDoc)) ) { - /* an error occured */ - return errn; - } - - } - - - - - - printf("EVSE side: List of application handshake protocols of the EV \n"); - - for(i=0;ipos = V2GTP_HEADER_LENGTH; - if( (errn = encode_appHandExiDocument(oStream, &appHandResp)) == 0) { - errn = write_v2gtpHeader(oStream->data, (*oStream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - - - return errn; -} - - -static int appHandshake() -{ - bitstream_t stream1; - bitstream_t stream2; - - uint32_t payloadLengthDec; - size_t pos1 = V2GTP_HEADER_LENGTH; /* v2gtp header */ - size_t pos2 = 0; - - struct appHandEXIDocument handshake; - struct appHandEXIDocument handshakeResp; - - int errn = 0; - - char* ns0 = "urn:iso:15118:2:2010:MsgDef"; - char* ns1 = "urn:din:70121:2012:MsgDef"; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - init_appHandEXIDocument(&handshake); - - printf("EV side: setup data for the supported application handshake request message\n"); - - /* set up ISO/IEC 15118 Version 1.0 information */ - handshake.supportedAppProtocolReq_isUsed = 1u; - handshake.supportedAppProtocolReq.AppProtocol.arrayLen = 2; /* we have only two protocols implemented */ - - handshake.supportedAppProtocolReq.AppProtocol.array[0].ProtocolNamespace.charactersLen = - writeStringToEXIString(ns0, handshake.supportedAppProtocolReq.AppProtocol.array[0].ProtocolNamespace.characters); - handshake.supportedAppProtocolReq.AppProtocol.array[0].SchemaID = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[0].VersionNumberMajor = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[0].VersionNumberMinor = 0; - handshake.supportedAppProtocolReq.AppProtocol.array[0].Priority = 1; - - handshake.supportedAppProtocolReq.AppProtocol.array[1].ProtocolNamespace.charactersLen = - writeStringToEXIString(ns1, handshake.supportedAppProtocolReq.AppProtocol.array[1].ProtocolNamespace.characters); - handshake.supportedAppProtocolReq.AppProtocol.array[1].SchemaID = 2; - handshake.supportedAppProtocolReq.AppProtocol.array[1].VersionNumberMajor = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[1].VersionNumberMinor = 0; - handshake.supportedAppProtocolReq.AppProtocol.array[1].Priority = 2; - - /* send app handshake request */ - if( (errn = encode_appHandExiDocument(&stream1, &handshake)) == 0) { - if ( write_v2gtpHeader(stream1.data, pos1-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE) == 0 ) { - printf("EV side: send message to the EVSE\n"); - } - } - - if (errn == 0) { - /* read app handshake request & generate response */ - errn = appHandshakeHandler(&stream1, &stream2); - } - - if (errn == 0) { - /* check response */ - if ( (errn = read_v2gtpHeader(stream2.data, &payloadLengthDec)) == 0) { - pos2 = V2GTP_HEADER_LENGTH; - - if(decode_appHandExiDocument(&stream2, &handshakeResp) == 0) { - printf("EV side: Response of the EVSE \n"); - if(handshakeResp.supportedAppProtocolRes.ResponseCode == appHandresponseCodeType_OK_SuccessfulNegotiation) { - printf("\t\tResponseCode=OK_SuccessfulNegotiation\n"); - printf("\t\tSchemaID=%d\n",handshakeResp.supportedAppProtocolRes.SchemaID); - } - } - } - - } - - if (errn != 0) { - printf("appHandshake error %d \n", errn); - } - - - return errn; - -} - - - - - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -static void printEVSEStatus2(struct iso2EVSEStatusType* status) -{ - printf("\tEVSEStatus:\n"); - printf("\t\tEVSENotification=%d\n", status->EVSENotification); - printf("\t\tNotificationMaxDelay=%d\n", status->NotificationMaxDelay); -} - -/* serializes EXI stream and adds V2G TP header */ -static int serialize2EXI2Stream(struct iso2EXIDocument* exiIn, bitstream_t* stream) { - int errn; - *stream->pos = V2GTP_HEADER_LENGTH; /* v2gtp header */ - if( (errn = encode_iso2ExiDocument(stream, exiIn)) == 0) { - errn = write_v2gtpHeader(stream->data, (*stream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - return errn; -} - - -/* deserializes V2G TP header and decodes right away EXI stream */ -static int deserialize2Stream2EXI(bitstream_t* streamIn, struct iso2EXIDocument* exi) { - int errn; - uint32_t payloadLength; - - *streamIn->pos = 0; - if ( (errn = read_v2gtpHeader(streamIn->data, &payloadLength)) == 0) { - *streamIn->pos += V2GTP_HEADER_LENGTH; - - errn = decode_iso2ExiDocument(streamIn, exi); - } - return errn; -} - -static int sessionSetup2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - printf("EVSE side: sessionSetup 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 EVCCID=%d\n", exiIn->V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0]); - - exiOut->V2G_Message_isUsed = 1u; - - /* generate an unique sessionID */ - init_iso2MessageHeaderType(&exiOut->V2G_Message.Header); - exiOut->V2G_Message.Header.SessionID.bytes[0] = 1; - exiOut->V2G_Message.Header.SessionID.bytes[1] = 2; - exiOut->V2G_Message.Header.SessionID.bytes[2] = 3; - exiOut->V2G_Message.Header.SessionID.bytes[3] = 4; - exiOut->V2G_Message.Header.SessionID.bytes[4] = 5; - exiOut->V2G_Message.Header.SessionID.bytes[5] = 6; - exiOut->V2G_Message.Header.SessionID.bytes[6] = 7; - exiOut->V2G_Message.Header.SessionID.bytes[7] = 8; - exiOut->V2G_Message.Header.SessionID.bytesLen = 8; - - /* Prepare data for EV */ - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; - init_iso2SessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); - - exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp_isUsed = 1u; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp = 123456789; - - return 0; -} - -static int serviceDiscovery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* 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); - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDiscoveryRes_isUsed = 1u; - init_iso2ServiceDiscoveryResType(&exiOut->V2G_Message.Body.ServiceDiscoveryRes); - - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.VASList_isUsed = 0u; /* we do not provide VAS */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = iso2paymentOptionType_ExternalPayment; /* EVSE handles the payment */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = iso2paymentOptionType_Contract; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2; - - 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.VASList_isUsed = 0u; /* no value added service requested */ - - return 0; -} - - -static int serviceDetail2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: serviceDetail 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 ServiceDetailID=%d\n",exiIn->V2G_Message.Body.ServiceDetailReq.ServiceID); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u; - init_iso2ServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceID = 1234; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.arrayLen = 2; - - /* Parameter Set 1*/ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].ParameterSetID = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.charactersLen = 8; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[0] = 'P'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[1] = 'r'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[2] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[3] = 't'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[4]= 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[5] = 'c'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[6] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[7] = 'l'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue = 15119; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue_isUsed = 1u; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.charactersLen = 4; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[0] = 'N'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[1] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[2] = 'm'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[3] = 'e'; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.charactersLen = 3; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[0] = 'V'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[1] = '2'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[2] = 'G'; - - /* Parameter Set 2 */ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].ParameterSetID = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.arrayLen = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.charactersLen = 7; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[0] = 'C'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[1] = 'h'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[2] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[3] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[4] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[5] = 'e'; - 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.Exponent = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2; - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - - -static int paymentServiceSelection2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int i; - - printf("EVSE side: paymentServiceSelection called\n" ); - printf("\tReceived data:\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen); - - if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == iso2paymentOptionType_ExternalPayment) { - printf("\t\t SelectedPaymentOption=ExternalPayment\n"); - } - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u; - init_iso2PaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - - -static int paymentDetails2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: paymentDetails called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t eMAID=%d\n", exiIn->V2G_Message.Body.PaymentDetailsReq.eMAID.characters[0]); - printf("\t\t ID=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Id.characters[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Id.characters[1]); - printf("\t\t Certificate=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Certificate.bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Certificate.bytes[1]); - printf("\t\t SubCertificate 1=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[0].bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[0].bytes[1]); - printf("\t\t SubCertificate 2=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[1].bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[1].bytes[1]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u; - init_iso2PaymentDetailsResType(&exiOut->V2G_Message.Body.PaymentDetailsRes); - - exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1; - exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytes[0] = 1; - exiOut->V2G_Message.Body.PaymentDetailsRes.EVSETimeStamp = 123456; - - return 0; -} - - -static int authorization2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE: Authorization called\n" ); - printf("\tReceived data:\n"); - - if(exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed) { - printf("\t\t\t GenChallenge=%d\n", exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge.bytes[0]); - } - if(exiIn->V2G_Message.Body.AuthorizationReq.Id_isUsed ) { - printf("\t\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[0], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[1], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[2]); - } - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; - init_iso2AuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes); - - exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = iso2EVSEProcessingType_Finished; - - return 0; -} - - -static int chargeParameterDiscovery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: chargeParameterDiscovery called\n" ); - printf("\tReceived data:\n"); - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; - init_iso2ChargeParameterDiscoveryResType(&exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes); - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = iso2responseCodeType_OK_CertificateExpiresSoon; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter_isUsed = 1u; - /*exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter = 0;*/ - return 0; -} - - -static int powerDelivery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - printf("EVSE side: powerDelivery called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ChargeProgress=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargeProgress); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u; - init_iso2PowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes); - - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing_WaitingForCustomerInteraction; - - return 0; -} - - -static int chargingStatus2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: chargingStatus called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; - init_iso2ChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes); - - - exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A'; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; - - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_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; -} - - -static int meteringReceipt2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: meteringReceipt called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[0], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[1], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[2]); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID); - 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]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; - init_iso2MeteringReceiptResType(&exiOut->V2G_Message.Body.MeteringReceiptRes); - - exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = iso2responseCodeType_FAILED; - - return 0; -} - -static int sessionStop2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: sessionStop 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 ChargingSession=%d\n", exiIn->V2G_Message.Body.SessionStopReq.ChargingSession); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; - init_iso2SessionStopResType(&exiOut->V2G_Message.Body.SessionStopRes); - - exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - -static int cableCheck2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: cableCheck called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; - init_iso2CableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes); - - exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.NotificationMaxDelay = 1234; - exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.EVSENotification= iso2EVSENotificationType_ReNegotiation; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = iso2EVSEProcessingType_Finished; - - return 0; -} - -static int preCharge2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: preCharge called\n" ); - printf("\tReceived data:\n"); - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; - init_iso2PreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes); - - exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.NotificationMaxDelay= 1234; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Exponent = 3; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 456; - - return 0; -} - - - -static int create_response_message2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE; - - /* create response message as EXI document */ - if(exiIn->V2G_Message_isUsed) { - init_iso2EXIDocument(exiOut); - if (exiIn->V2G_Message.Body.SessionSetupReq_isUsed) { - errn = sessionSetup2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDiscoveryReq_isUsed) { - errn = serviceDiscovery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDetailReq_isUsed) { - errn = serviceDetail2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PaymentServiceSelectionReq_isUsed) { - errn = paymentServiceSelection2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PaymentDetailsReq_isUsed) { - errn = paymentDetails2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.AuthorizationReq_isUsed) { - errn = authorization2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed) { - errn = chargeParameterDiscovery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PowerDeliveryReq_isUsed) { - errn = powerDelivery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargingStatusReq_isUsed) { - errn = chargingStatus2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.MeteringReceiptReq_isUsed) { - errn = meteringReceipt2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.SessionStopReq_isUsed) { - errn = sessionStop2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.CableCheckReq_isUsed) { - errn = cableCheck2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PreChargeReq_isUsed) { - errn = preCharge2(exiIn, exiOut); - } - } - - return errn; -} - -/* Adapt this to your system setup! */ -/* In this situation EV and EVSE is the same party */ -static int request_response2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int errn; - - bitstream_t stream1; - bitstream_t stream2; - - size_t pos1; - size_t pos2; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - /* EV side */ - errn = serialize2EXI2Stream(exiIn, &stream1); - - /* --> Start of EVSE side */ - /* deserialize request message */ - if (errn == 0) { - errn = deserialize2Stream2EXI(&stream1, exiOut); - } - /* create response message */ - if (errn == 0) { - errn = create_response_message2(exiOut, exiIn); - } - /* serialize response message */ - if (errn == 0) { - errn = serialize2EXI2Stream(exiIn, &stream2); - } - /* <-- End of EVSE side */ - - - /* EV side */ - /* deserialize response message */ - if (errn == 0) { - errn = deserialize2Stream2EXI(&stream2, exiOut); - } - - return errn; -} - - -static int charging2() -{ - int errn = 0; - int i, j; - - struct iso2EXIDocument exiIn; - struct iso2EXIDocument exiOut; - - struct iso2ServiceDetailResType serviceDetailRes; - struct iso2PaymentServiceSelectionResType paymentServiceSelectionRes; - struct iso2PaymentDetailsResType paymentDetailsRes; - - /* setup header information */ - init_iso2EXIDocument(&exiIn); - exiIn.V2G_Message_isUsed = 1u; - init_iso2MessageHeaderType(&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; - exiIn.V2G_Message.Header.Signature_isUsed = 0u; - - - /************************ - * sessionSetup * - ************************/ - init_iso2BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u; - - init_iso2SessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq); - - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1; - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 10; - - printf("EV side: call EVSE sessionSetup"); - - errn = request_response2(&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; - } - } else { - return errn; - } - - - /******************************************* - * serviceDiscovery * - *******************************************/ - init_iso2BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ServiceDiscoveryReq_isUsed = 1u; - - init_iso2ServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); - - 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] = iso2serviceCategoryType_Internet; - - printf("EV side: call EVSE serviceDiscovery"); - - errn = request_response2(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ServiceDiscoveryRes_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.ServiceDiscoveryRes.ResponseCode); - - 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) { - printf("\t PaymentOption=Contract_paymentOptionType\n"); - } - if(serviceDiscoveryRes.ChargeService.FreeService==1) { - printf("\t ChargeService.FreeService=True\n"); - } - if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] == v2gEnergyTransferModeType_DC_combo_core) { - printf("\t EnergyTransferMode=AC_single_DC_core\n"); - } - if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] == v2gEnergyTransferModeType_AC_single_phase_core) { - printf("\t EnergyTransferMode=AC_single_phase_core_EnergyTransferModeType\n"); - } - printf("\t Value added service list:\n"); - for(i=0;iEVSENotification); - printf("\t\tNotificationMaxDelay=%d\n", status->NotificationMaxDelay); -} - - -/* serializes EXI stream and adds V2G TP header */ -static int serialize1EXI2Stream(struct iso1EXIDocument* exiIn, bitstream_t* stream) { - int errn; - *stream->pos = V2GTP_HEADER_LENGTH; /* v2gtp header */ - if( (errn = encode_iso1ExiDocument(stream, exiIn)) == 0) { - errn = write_v2gtpHeader(stream->data, (*stream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - return errn; -} - - - -/* deserializes V2G TP header and decodes right away EXI stream */ -static int deserialize1Stream2EXI(bitstream_t* streamIn, struct iso1EXIDocument* exi) { - int errn; - uint32_t payloadLength; - - *streamIn->pos = 0; - if ( (errn = read_v2gtpHeader(streamIn->data, &payloadLength)) == 0) { - *streamIn->pos += V2GTP_HEADER_LENGTH; - - errn = decode_iso1ExiDocument(streamIn, exi); - } - return errn; -} - - - -static int sessionSetup1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - printf("EVSE side: sessionSetup 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 EVCCID=%d\n", exiIn->V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0]); - - exiOut->V2G_Message_isUsed = 1u; - - /* generate an unique sessionID */ - init_iso1MessageHeaderType(&exiOut->V2G_Message.Header); - exiOut->V2G_Message.Header.SessionID.bytes[0] = 1; - exiOut->V2G_Message.Header.SessionID.bytes[1] = 2; - exiOut->V2G_Message.Header.SessionID.bytes[2] = 3; - exiOut->V2G_Message.Header.SessionID.bytes[3] = 4; - exiOut->V2G_Message.Header.SessionID.bytes[4] = 5; - exiOut->V2G_Message.Header.SessionID.bytes[5] = 6; - exiOut->V2G_Message.Header.SessionID.bytes[6] = 7; - exiOut->V2G_Message.Header.SessionID.bytes[7] = 8; - exiOut->V2G_Message.Header.SessionID.bytesLen = 8; - - /* Prepare data for EV */ - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; - init_iso1SessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); - - exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp_isUsed = 1u; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp = 123456789; - - return 0; -} - - - -static int serviceDetail1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: serviceDetail 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 ServiceDetailID=%d\n",exiIn->V2G_Message.Body.ServiceDetailReq.ServiceID); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u; - init_iso1ServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceID = 1234; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.arrayLen = 2; - - /* Parameter Set 1*/ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].ParameterSetID = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.charactersLen = 8; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[0] = 'P'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[1] = 'r'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[2] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[3] = 't'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[4]= 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[5] = 'c'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[6] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[7] = 'l'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue = 15119; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue_isUsed = 1u; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.charactersLen = 4; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[0] = 'N'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[1] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[2] = 'm'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[3] = 'e'; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.charactersLen = 3; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[0] = 'V'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[1] = '2'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[2] = 'G'; - - /* Parameter Set 2 */ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].ParameterSetID = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.arrayLen = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.charactersLen = 7; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[0] = 'C'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[1] = 'h'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[2] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[3] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[4] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[5] = 'e'; - 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.Multiplier = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2; - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso1responseCodeType_OK; - - return 0; -} - - - -static int authorization1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE: Authorization called\n" ); - printf("\tReceived data:\n"); - - if(exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed) { - printf("\t\t\t GenChallenge=%d\n", exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge.bytes[0]); - } - if(exiIn->V2G_Message.Body.AuthorizationReq.Id_isUsed ) { - printf("\t\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[0], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[1], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[2]); - } - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; - init_iso1AuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes); - - exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = iso1EVSEProcessingType_Finished; - - return 0; -} - - -static int powerDelivery1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - printf("EVSE side: powerDelivery called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ChargeProgress=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargeProgress); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u; - init_iso1PowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes); - - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = iso1EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12; - - return 0; -} - - -static int chargingStatus1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: chargingStatus called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; - init_iso1ChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes); - - - exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A'; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; - - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired = 1; - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed = 1; - - return 0; -} - - -static int meteringReceipt1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: meteringReceipt called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[0], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[1], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[2]); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID); - 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]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; - init_iso1MeteringReceiptResType(&exiOut->V2G_Message.Body.MeteringReceiptRes); - - exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = iso1responseCodeType_FAILED; - - return 0; -} - -static int sessionStop1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: sessionStop 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 ChargingSession=%d\n", exiIn->V2G_Message.Body.SessionStopReq.ChargingSession); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; - init_iso1SessionStopResType(&exiOut->V2G_Message.Body.SessionStopRes); - - exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = iso1responseCodeType_OK; - - return 0; -} - -static int cableCheck1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: cableCheck called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; - init_iso1CableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes); - - exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.NotificationMaxDelay = 1234; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSENotification= iso1EVSENotificationType_ReNegotiation; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = iso1EVSEProcessingType_Finished; - - return 0; -} - -static int preCharge1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: preCharge called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t EVTargetCurrent=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier); - printf("\t\t EVTargetVoltage=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; - init_iso1PreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes); - - exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSENotification = iso1EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.NotificationMaxDelay= 1234; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier = 3; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 456; - - return 0; -} - - - - - -static int create_response_message1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE; - - /* create response message as EXI document */ - if(exiIn->V2G_Message_isUsed) { - init_iso1EXIDocument(exiOut); - if (exiIn->V2G_Message.Body.SessionSetupReq_isUsed) { - errn = sessionSetup1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDetailReq_isUsed) { - errn = serviceDetail1(exiIn, exiOut); - /*} else if (exiIn->V2G_Message.Body.PaymentDetailsReq_isUsed) { - errn = paymentDetails1(exiIn, exiOut);*/ - } else if (exiIn->V2G_Message.Body.AuthorizationReq_isUsed) { - errn = authorization1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PowerDeliveryReq_isUsed) { - errn = powerDelivery1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargingStatusReq_isUsed) { - errn = chargingStatus1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.MeteringReceiptReq_isUsed) { - errn = meteringReceipt1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.SessionStopReq_isUsed) { - errn = sessionStop1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.CableCheckReq_isUsed) { - errn = cableCheck1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PreChargeReq_isUsed) { - errn = preCharge1(exiIn, exiOut); - } - } - - return errn; -} - - -/* Adapt this to your system setup! */ -/* In this situation EV and EVSE is the same party */ -static int request_response1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - int errn; - - bitstream_t stream1; - bitstream_t stream2; - - size_t pos1; - size_t pos2; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - /* EV side */ - errn = serialize1EXI2Stream(exiIn, &stream1); - - /* --> Start of EVSE side */ - /* deserialize request message */ - if (errn == 0) { - errn = deserialize1Stream2EXI(&stream1, exiOut); - } - /* create response message */ - if (errn == 0) { - errn = create_response_message1(exiOut, exiIn); - } - /* serialize response message */ - if (errn == 0) { - errn = serialize1EXI2Stream(exiIn, &stream2); - } - /* <-- End of EVSE side */ - - - /* EV side */ - /* deserialize response message */ - if (errn == 0) { - errn = deserialize1Stream2EXI(&stream2, exiOut); - } - - return errn; -} - -static int charging1() -{ - int errn = 0; - int i, j; - - struct iso1EXIDocument exiIn; - struct iso1EXIDocument exiOut; - - struct iso1ServiceDetailResType serviceDetailRes; - struct iso1PaymentDetailsResType paymentDetailsRes; - - /* setup header information */ - init_iso1EXIDocument(&exiIn); - exiIn.V2G_Message_isUsed = 1u; - init_iso1MessageHeaderType(&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; - exiIn.V2G_Message.Header.Signature_isUsed = 0u; - - - /************************ - * sessionSetup * - ************************/ - init_iso1BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u; - - init_iso1SessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq); - - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1; - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 10; - - printf("EV side: call EVSE sessionSetup"); - - errn = request_response1(&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; - } - } else { - return errn; - } - - - - /********************************* - * ServiceDetails * - *********************************/ - init_iso1BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ServiceDetailReq_isUsed = 1u; - - init_iso1ServiceDetailReqType(&exiIn.V2G_Message.Body.ServiceDetailReq); - - exiIn.V2G_Message.Body.ServiceDetailReq.ServiceID = 22; /* Value Added Server ID */ - - printf("EV side: call EVSE ServiceDetail \n"); - - errn = request_response1(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ServiceDetailRes_isUsed) { - serviceDetailRes = exiOut.V2G_Message.Body.ServiceDetailRes; - /* 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.ServiceDetailRes.ServiceID); - - if(serviceDetailRes.ServiceParameterList_isUsed) { - printf("\t\tLength=%d\n", serviceDetailRes.ServiceParameterList.ParameterSet.arrayLen );/*TEST*/ - - for(i=0; i - U29tZSBSYW5kb20gRGF0YQ== - - */ - - init_iso2EXIFragment(&exiV2G_AR); - exiV2G_AR.AuthorizationReq_isUsed = 1u; - init_iso2AuthorizationReqType(&exiV2G_AR.AuthorizationReq); - exiV2G_AR.AuthorizationReq.Id_isUsed = 1; - exiV2G_AR.AuthorizationReq.Id.charactersLen = 3; - exiV2G_AR.AuthorizationReq.Id.characters[0] = 'I'; - exiV2G_AR.AuthorizationReq.Id.characters[1] = 'D'; - exiV2G_AR.AuthorizationReq.Id.characters[2] = '1'; - exiV2G_AR.AuthorizationReq.GenChallenge_isUsed = 1; - /* base64 U29tZSBSYW5kb20gRGF0YQ== */ - exiV2G_AR.AuthorizationReq.GenChallenge.bytesLen = 16; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[0] = 0x53; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[1] = 0x6F; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[2] = 0x6D; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[3] = 0x65; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[4] = 0x20; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[5] = 0x52; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[6] = 0x61; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[7] = 0x6E; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[8] = 0x64; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[9] = 0x6F; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[10] = 0x6D; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[11] = 0x20; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[12] = 0x44; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[13] = 0x61; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[14] = 0x74; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[15] = 0x61; - - /* encode fragment with ISO schema */ - errn = encode_iso2ExiFragment(&stream1, &exiV2G_AR); - - if((*stream1.pos) != sizeIsoStream1) { - errn = -1; - printf("EXI1 stream length does not match !\n"); - return errn; - } else { - for(i=0; i - - - - - - - - 0bXgPQBlvuVrMXmERTBR61TK - GPwOCRYXT4s8d6mPSqk= - - - */ - - /* encode SignedInfo element with xmldsig schema */ - - 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; - init_xmldsigSignedInfoType(&exiXMLDSIG_SI.SignedInfo); - { - init_xmldsigCanonicalizationMethodType(&exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod); - exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod.Algorithm.charactersLen = 35; - strncpy(exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod.Algorithm.characters, arrayCanonicalEXI, 35); - - exiXMLDSIG_SI.SignedInfo.SignatureMethod.HMACOutputLength_isUsed = 0; - exiXMLDSIG_SI.SignedInfo.SignatureMethod.Algorithm.charactersLen = 51; - strncpy(exiXMLDSIG_SI.SignedInfo.SignatureMethod.Algorithm.characters, arrayxmldsigSHA256, 51); - - exiXMLDSIG_SI.SignedInfo.Reference.arrayLen = 1; - /* "#ID1" */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI_isUsed = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.charactersLen = 4; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[0] = '#'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[1] = 'I'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[2] = 'D'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[3] = '1'; - /* "http://www.w3.org/TR/canonical-exi/" */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms_isUsed = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.arrayLen = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].Algorithm.charactersLen = 35; - strncpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].Algorithm.characters, arrayCanonicalEXI, 35); /* Will copy 35 characters from arrayCanonicalEXI to characters */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].XPath.arrayLen = 0; - - exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestMethod.Algorithm.charactersLen = 39; - strncpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestMethod.Algorithm.characters, arrayxmlencSHA256, 39); - - /* "0bXgPQBlvuVrMXmERTBR61TKGPwOCRYXT4s8d6mPSqk=" --> 16 Bytes 536F6D652052616E646F6D2044617461 */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestValue.bytesLen = 32; - memcpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestValue.bytes, digestValue, 32); - } - - errn = encode_xmldsigExiFragment(&stream2, &exiXMLDSIG_SI); - - if((*stream2.pos) != sizeIsoStream2) { - errn = -1; - printf("EXI2 stream length does not match !\n"); - return errn; - } else { - for(i=0; i. - */ - -/******************************************************************* - * - * @author Sebastian.Kaebisch@siemens.com - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - ********************************************************************/ - -/* - * This file implements the v2gtp header writer and reader. - * - */ - -#include -#include -#include -#include -#include -#include - -#include "v2gtp.h" - - -int write_v2gtpHeader(uint8_t* outStream, uint32_t outStreamLength, uint16_t payloadType) -{ - - /* write v2gtp version number 1=byte */ - outStream[0]=V2GTP_VERSION; - - /* write inverse v2gtp version */ - outStream[1]=V2GTP_VERSION_INV; - - - /* write payload type */ - outStream[3] = (uint8_t)(payloadType & 0xFF); - outStream[2] = (uint8_t)(payloadType >> 8 & 0xFF); - - /* write payload length */ - outStream[7] = (uint8_t)(outStreamLength & 0xFF); - outStream[6] = (uint8_t)(outStreamLength>>8 & 0xFF); - outStream[5] = (uint8_t)(outStreamLength>>16 & 0xFF); - outStream[4] = (uint8_t)(outStreamLength>>24 & 0xFF); - - return 0; -} - -int read_v2gtpHeader(uint8_t* inStream, uint32_t* payloadLength) -{ - uint16_t payloadType=0; - - - /* check, if we support this v2gtp version */ - if(inStream[0]!=V2GTP_VERSION || inStream[1]!=V2GTP_VERSION_INV) - return -1; - - - /* check, if we support this payload type*/ - payloadType = inStream[2]; - payloadType = (payloadType << 8 | inStream[3]); - - if(payloadType != V2GTP_EXI_TYPE) - return -1; - - - /* determine payload length*/ - *payloadLength = inStream[4]; - *payloadLength = (*payloadLength << 8 | inStream[5]); - *payloadLength = (*payloadLength << 8 | inStream[6]); - *payloadLength = (*payloadLength << 8 | inStream[7]); - - return 0; -} - diff --git a/Port/vc2022/src/transport/v2gtp.h b/Port/vc2022/src/transport/v2gtp.h deleted file mode 100644 index 2b6c6db..0000000 --- a/Port/vc2022/src/transport/v2gtp.h +++ /dev/null @@ -1,55 +0,0 @@ - -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Sebastian.Kaebisch@siemens.com - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - ********************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef V2GTP_H_ -#define V2GTP_H_ - -#include - -/* generic V2GTP header length */ -#define V2GTP_HEADER_LENGTH 8 - -/* define V2GTP Version */ -#define V2GTP_VERSION 0x01 -#define V2GTP_VERSION_INV 0xFE - -/* define V2GTP payload types*/ -#define V2GTP_EXI_TYPE 0x8001 - -int write_v2gtpHeader(uint8_t* outStream, uint32_t outStreamLength, uint16_t payloadType); - -int read_v2gtpHeader(uint8_t* inStream, uint32_t* payloadLength); - -#endif /* V2GTP_H_ */ - -#ifdef __cplusplus -} -#endif diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.c b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.c deleted file mode 100644 index 752d4e8..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "xmldsigEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_xmldsig_DATATYPES_C -#define EXI_xmldsig_DATATYPES_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - - -void init_xmldsigEXIDocument(struct xmldsigEXIDocument* exiDoc) { - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -void init_xmldsigEXIFragment(struct xmldsigEXIFragment* exiFrag) { - exiFrag->DigestValue_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - -void init_xmldsigCanonicalizationMethodType(struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - xmldsigCanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigManifestType(struct xmldsigManifestType* xmldsigManifestType) { - xmldsigManifestType->Id_isUsed = 0u; - xmldsigManifestType->Reference.arrayLen = 0u; -} - -void init_xmldsigObjectType(struct xmldsigObjectType* xmldsigObjectType) { - xmldsigObjectType->Id_isUsed = 0u; - xmldsigObjectType->MimeType_isUsed = 0u; - xmldsigObjectType->Encoding_isUsed = 0u; - xmldsigObjectType->ANY_isUsed = 0u; -} - -void init_xmldsigTransformType(struct xmldsigTransformType* xmldsigTransformType) { - xmldsigTransformType->ANY_isUsed = 0u; - xmldsigTransformType->XPath.arrayLen = 0u; -} - -void init_xmldsigSignatureMethodType(struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - xmldsigSignatureMethodType->HMACOutputLength_isUsed = 0u; - xmldsigSignatureMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigDigestMethodType(struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - xmldsigDigestMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigRetrievalMethodType(struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - xmldsigRetrievalMethodType->URI_isUsed = 0u; - xmldsigRetrievalMethodType->Type_isUsed = 0u; - xmldsigRetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_xmldsigSignatureValueType(struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - xmldsigSignatureValueType->Id_isUsed = 0u; -} - -void init_xmldsigX509IssuerSerialType(struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - (void)xmldsigX509IssuerSerialType; /* avoid unused warning */ -} - -void init_xmldsigSignedInfoType(struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - xmldsigSignedInfoType->Id_isUsed = 0u; - xmldsigSignedInfoType->Reference.arrayLen = 0u; -} - -void init_xmldsigSignaturePropertiesType(struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - xmldsigSignaturePropertiesType->Id_isUsed = 0u; - xmldsigSignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_xmldsigSignaturePropertyType(struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - xmldsigSignaturePropertyType->Id_isUsed = 0u; - xmldsigSignaturePropertyType->ANY_isUsed = 0u; -} - -void init_xmldsigKeyValueType(struct xmldsigKeyValueType* xmldsigKeyValueType) { - xmldsigKeyValueType->DSAKeyValue_isUsed = 0u; - xmldsigKeyValueType->RSAKeyValue_isUsed = 0u; - xmldsigKeyValueType->ANY_isUsed = 0u; -} - -void init_xmldsigRSAKeyValueType(struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - (void)xmldsigRSAKeyValueType; /* avoid unused warning */ -} - -void init_xmldsigPGPDataType(struct xmldsigPGPDataType* xmldsigPGPDataType) { - xmldsigPGPDataType->PGPKeyID_isUsed = 0u; - xmldsigPGPDataType->PGPKeyPacket_isUsed = 0u; - xmldsigPGPDataType->ANY_isUsed = 0u; -} - -void init_xmldsigTransformsType(struct xmldsigTransformsType* xmldsigTransformsType) { - xmldsigTransformsType->Transform.arrayLen = 0u; -} - -void init_xmldsigX509DataType(struct xmldsigX509DataType* xmldsigX509DataType) { - xmldsigX509DataType->X509IssuerSerial.arrayLen = 0u; - xmldsigX509DataType->X509SKI.arrayLen = 0u; - xmldsigX509DataType->X509SubjectName.arrayLen = 0u; - xmldsigX509DataType->X509Certificate.arrayLen = 0u; - xmldsigX509DataType->X509CRL.arrayLen = 0u; - xmldsigX509DataType->ANY_isUsed = 0u; -} - -void init_xmldsigSignatureType(struct xmldsigSignatureType* xmldsigSignatureType) { - xmldsigSignatureType->Id_isUsed = 0u; - xmldsigSignatureType->KeyInfo_isUsed = 0u; - xmldsigSignatureType->Object.arrayLen = 0u; -} - -void init_xmldsigDSAKeyValueType(struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - xmldsigDSAKeyValueType->P_isUsed = 0u; - xmldsigDSAKeyValueType->Q_isUsed = 0u; - xmldsigDSAKeyValueType->G_isUsed = 0u; - xmldsigDSAKeyValueType->J_isUsed = 0u; - xmldsigDSAKeyValueType->Seed_isUsed = 0u; - xmldsigDSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_xmldsigReferenceType(struct xmldsigReferenceType* xmldsigReferenceType) { - xmldsigReferenceType->Id_isUsed = 0u; - xmldsigReferenceType->URI_isUsed = 0u; - xmldsigReferenceType->Type_isUsed = 0u; - xmldsigReferenceType->Transforms_isUsed = 0u; -} - -void init_xmldsigSPKIDataType(struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - xmldsigSPKIDataType->SPKISexp.arrayLen = 0u; - xmldsigSPKIDataType->ANY_isUsed = 0u; -} - -void init_xmldsigKeyInfoType(struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - xmldsigKeyInfoType->Id_isUsed = 0u; - xmldsigKeyInfoType->KeyName.arrayLen = 0u; - xmldsigKeyInfoType->KeyValue.arrayLen = 0u; - xmldsigKeyInfoType->RetrievalMethod.arrayLen = 0u; - xmldsigKeyInfoType->X509Data.arrayLen = 0u; - xmldsigKeyInfoType->PGPData.arrayLen = 0u; - xmldsigKeyInfoType->SPKIData.arrayLen = 0u; - xmldsigKeyInfoType->MgmtData.arrayLen = 0u; - xmldsigKeyInfoType->ANY_isUsed = 0u; -} - - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.h b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.h deleted file mode 100644 index 0de2760..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypes.h +++ /dev/null @@ -1,935 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_xmldsig_DATATYPES_H -#define EXI_xmldsig_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_XMLDSIG_CODEC SUPPORT_NO -#define DEPLOY_XMLDSIG_CODEC_FRAGMENT SUPPORT_NO - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* 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 xmldsigCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigCanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigObjectType_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[xmldsigObjectType_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[xmldsigObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[xmldsigObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigTransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigTransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigTransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigTransformType_XPath_ARRAY_SIZE 1 -struct xmldsigTransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigTransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigTransformType_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 { - exi_string_character_t characters[xmldsigTransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigTransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -/* 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 xmldsigSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigSignatureMethodType_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[xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigDigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigDigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigDigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigDigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigDigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigSignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignatureValueType_CONTENT_BYTES_SIZE 350 -struct xmldsigSignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignatureValueType_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[xmldsigSignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 xmldsigX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigX509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[xmldsigX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -/* 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 xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertyType_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[xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigRSAKeyValueType_Modulus_BYTES_SIZE 350 -#define xmldsigRSAKeyValueType_Exponent_BYTES_SIZE 350 -struct xmldsigRSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigRSAKeyValueType_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[xmldsigRSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 xmldsigPGPDataType_PGPKeyID_BYTES_SIZE 350 -#define xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define xmldsigPGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigPGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[xmldsigPGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigPGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define xmldsigTransformsType_Transform_ARRAY_SIZE 1 -struct xmldsigTransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct xmldsigTransformType array[xmldsigTransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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'. */ -#define xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509SKI_BYTES_SIZE 350 -#define xmldsigX509DataType_X509SKI_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigX509DataType_X509SubjectName_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509Certificate_BYTES_SIZE 350 -#define xmldsigX509DataType_X509Certificate_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509CRL_BYTES_SIZE 350 -#define xmldsigX509DataType_X509CRL_ARRAY_SIZE 1 -#define xmldsigX509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigX509DataType { - /* 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 { - struct xmldsigX509IssuerSerialType array[xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigX509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigX509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } 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'. */ -#define xmldsigDSAKeyValueType_P_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Q_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_G_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Y_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_J_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Seed_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct xmldsigDSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_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 xmldsigReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_DigestValue_BYTES_SIZE 350 -struct xmldsigReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigReferenceType_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[xmldsigReferenceType_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[xmldsigReferenceType_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 xmldsigTransformsType 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 xmldsigDigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[xmldsigReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 xmldsigSPKIDataType_SPKISexp_BYTES_SIZE 350 -#define xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define xmldsigSPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigSPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigSPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigManifestType_Reference_ARRAY_SIZE 1 -struct xmldsigManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigManifestType_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 xmldsigReferenceType array[xmldsigManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigRetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigRetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigRetrievalMethodType_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[xmldsigRetrievalMethodType_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 xmldsigTransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 xmldsigSignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignedInfoType_Reference_ARRAY_SIZE 1 -struct xmldsigSignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignedInfoType_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 xmldsigCanonicalizationMethodType 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 xmldsigSignatureMethodType 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 xmldsigReferenceType array[xmldsigSignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 xmldsigSignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct xmldsigSignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertiesType_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 xmldsigSignaturePropertyType array[xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 xmldsigKeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigKeyValueType { - /* 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 xmldsigDSAKeyValueType 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 xmldsigRSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigKeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define xmldsigKeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_KeyName_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_KeyValue_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_X509Data_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_PGPData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_SPKIData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_MgmtData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigKeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigKeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigKeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct xmldsigKeyValueType array[xmldsigKeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct xmldsigRetrievalMethodType array[xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct xmldsigX509DataType array[xmldsigKeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct xmldsigPGPDataType array[xmldsigKeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct xmldsigSPKIDataType array[xmldsigKeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigKeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigKeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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'. */ -#define xmldsigSignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignatureType_Object_ARRAY_SIZE 1 -struct xmldsigSignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct xmldsigSignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct xmldsigSignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct xmldsigKeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct xmldsigObjectType array[xmldsigSignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - - - -#define EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIDocument_DigestValue_BYTES_SIZE 350 -#define EXIFragment_DigestValue_BYTES_SIZE 350 -#define EXIFragment_SPKISexp_BYTES_SIZE 350 -#define EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define EXIFragment_Exponent_BYTES_SIZE 350 -#define EXIFragment_P_BYTES_SIZE 350 -#define EXIFragment_Q_BYTES_SIZE 350 -#define EXIFragment_Seed_BYTES_SIZE 350 -#define EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_X509Certificate_BYTES_SIZE 350 -#define EXIFragment_G_BYTES_SIZE 350 -#define EXIFragment_J_BYTES_SIZE 350 -#define EXIFragment_X509SKI_BYTES_SIZE 350 -#define EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_Modulus_BYTES_SIZE 350 -#define EXIFragment_X509CRL_BYTES_SIZE 350 -#define EXIFragment_Y_BYTES_SIZE 350 -#define EXIFragment_PgenCounter_BYTES_SIZE 350 - - -/* Global elements of EXI Document */ -struct xmldsigEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct xmldsigSignaturePropertyType SignatureProperty ; - struct xmldsigDSAKeyValueType DSAKeyValue ; - struct xmldsigSignaturePropertiesType SignatureProperties ; - struct xmldsigKeyValueType KeyValue ; - struct xmldsigTransformsType Transforms ; - struct xmldsigDigestMethodType DigestMethod ; - struct xmldsigSignatureType Signature ; - struct xmldsigRetrievalMethodType RetrievalMethod ; - struct xmldsigManifestType Manifest ; - struct xmldsigReferenceType Reference ; - struct xmldsigCanonicalizationMethodType CanonicalizationMethod ; - struct xmldsigRSAKeyValueType RSAKeyValue ; - struct xmldsigTransformType Transform ; - struct xmldsigPGPDataType PGPData ; - struct { - exi_string_character_t characters[EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct xmldsigSignatureMethodType SignatureMethod ; - struct xmldsigKeyInfoType KeyInfo ; - struct xmldsigSPKIDataType SPKIData ; - struct xmldsigX509DataType X509Data ; - struct xmldsigSignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct xmldsigSignedInfoType SignedInfo ; - struct xmldsigObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct xmldsigEXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct { - uint8_t bytes[EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct xmldsigX509DataType X509Data ; - struct xmldsigKeyValueType KeyValue ; - struct xmldsigDigestMethodType DigestMethod ; - struct { - uint8_t bytes[EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct xmldsigTransformsType Transforms ; - struct { - exi_string_character_t characters[EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - exi_string_character_t characters[EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct { - exi_string_character_t characters[EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct xmldsigReferenceType Reference ; - struct xmldsigSignaturePropertiesType SignatureProperties ; - struct { - uint8_t bytes[EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct xmldsigPGPDataType PGPData ; - struct xmldsigDSAKeyValueType DSAKeyValue ; - struct xmldsigSignatureValueType SignatureValue ; - struct xmldsigKeyInfoType KeyInfo ; - struct xmldsigSignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - int64_t HMACOutputLength ; - struct { - uint8_t bytes[EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct xmldsigManifestType Manifest ; - struct { - uint8_t bytes[EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct xmldsigCanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - uint8_t bytes[EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct { - exi_string_character_t characters[EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct xmldsigRSAKeyValueType RSAKeyValue ; - struct xmldsigX509IssuerSerialType X509IssuerSerial ; - struct xmldsigSPKIDataType SPKIData ; - 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 xmldsigSignedInfoType SignedInfo ; - struct { - uint8_t bytes[EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct xmldsigTransformType Transform ; - struct { - exi_string_character_t characters[EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct xmldsigObjectType Object ; - int64_t X509SerialNumber ; - struct xmldsigRetrievalMethodType RetrievalMethod ; - struct { - uint8_t bytes[EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - struct { - uint8_t bytes[EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct xmldsigSignatureType Signature ; - struct { - uint8_t bytes[EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct xmldsigSignatureMethodType SignatureMethod ; - struct { - uint8_t bytes[EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int DigestValue_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int P_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Modulus_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int PgenCounter_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_xmldsigEXIDocument(struct xmldsigEXIDocument* exiDoc); -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -void init_xmldsigEXIFragment(struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ -void init_xmldsigCanonicalizationMethodType(struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -void init_xmldsigManifestType(struct xmldsigManifestType* xmldsigManifestType); -void init_xmldsigObjectType(struct xmldsigObjectType* xmldsigObjectType); -void init_xmldsigTransformType(struct xmldsigTransformType* xmldsigTransformType); -void init_xmldsigSignatureMethodType(struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -void init_xmldsigDigestMethodType(struct xmldsigDigestMethodType* xmldsigDigestMethodType); -void init_xmldsigRetrievalMethodType(struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -void init_xmldsigSignatureValueType(struct xmldsigSignatureValueType* xmldsigSignatureValueType); -void init_xmldsigX509IssuerSerialType(struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -void init_xmldsigSignedInfoType(struct xmldsigSignedInfoType* xmldsigSignedInfoType); -void init_xmldsigSignaturePropertiesType(struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -void init_xmldsigSignaturePropertyType(struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -void init_xmldsigKeyValueType(struct xmldsigKeyValueType* xmldsigKeyValueType); -void init_xmldsigRSAKeyValueType(struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -void init_xmldsigPGPDataType(struct xmldsigPGPDataType* xmldsigPGPDataType); -void init_xmldsigTransformsType(struct xmldsigTransformsType* xmldsigTransformsType); -void init_xmldsigX509DataType(struct xmldsigX509DataType* xmldsigX509DataType); -void init_xmldsigSignatureType(struct xmldsigSignatureType* xmldsigSignatureType); -void init_xmldsigDSAKeyValueType(struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -void init_xmldsigReferenceType(struct xmldsigReferenceType* xmldsigReferenceType); -void init_xmldsigSPKIDataType(struct xmldsigSPKIDataType* xmldsigSPKIDataType); -void init_xmldsigKeyInfoType(struct xmldsigKeyInfoType* xmldsigKeyInfoType); - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.c b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.c deleted file mode 100644 index 4e4636d..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.c +++ /dev/null @@ -1,4919 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - - -#include "xmldsigEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "xmldsigEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_xmldsig_DATATYPES_DECODER_C -#define EXI_xmldsig_DATATYPES_DECODER_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -static int decode_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType); -static int decode_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType); -static int decode_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType); -static int decode_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -static int decode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType); -static int decode_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -static int decode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType); -static int decode_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -static int decode_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType); -static int decode_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -static int decode_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -static int decode_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType); -static int decode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -static int decode_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType); -static int decode_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType); -static int decode_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType); -static int decode_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType); -static int decode_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -static int decode_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType); -static int decode_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType); -static int decode_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType); - -/* Deviant data decoding (skip functions) */ - - - /* 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_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - int grammarID = 0; - int done = 0; - - init_xmldsigCanonicalizationMethodType(xmldsigCanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->Algorithm.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->Algorithm.charactersLen, xmldsigCanonicalizationMethodType->Algorithm.characters, xmldsigCanonicalizationMethodType_Algorithm_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[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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->ANY.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.charactersLen, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->ANY.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.charactersLen, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigCanonicalizationMethodType->ANY_isUsed = 1u; - 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='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_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType) { - int grammarID = 4; - int done = 0; - - init_xmldsigManifestType(xmldsigManifestType); - - while(!done) { - switch(grammarID) { - case 4: - /* 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, &xmldsigManifestType->Id.charactersLen); - if (errn == 0) { - if (xmldsigManifestType->Id.charactersLen >= 2) { - xmldsigManifestType->Id.charactersLen = (uint16_t)(xmldsigManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigManifestType->Id.charactersLen, xmldsigManifestType->Id.characters, xmldsigManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigManifestType->Id_isUsed = 1u; - grammarID = 5; - break; - case 1: - if (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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 (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - 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='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_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType) { - int grammarID = 7; - int done = 0; - - init_xmldsigObjectType(xmldsigObjectType); - - while(!done) { - switch(grammarID) { - case 7: - /* 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, &xmldsigObjectType->Encoding.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Encoding.charactersLen >= 2) { - xmldsigObjectType->Encoding.charactersLen = (uint16_t)(xmldsigObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Encoding.charactersLen, xmldsigObjectType->Encoding.characters, xmldsigObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Encoding_isUsed = 1u; - grammarID = 8; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->Id.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Id.charactersLen >= 2) { - xmldsigObjectType->Id.charactersLen = (uint16_t)(xmldsigObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Id.charactersLen, xmldsigObjectType->Id.characters, xmldsigObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Id_isUsed = 1u; - grammarID = 9; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 4: - done = 1; - grammarID = 3; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* 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, &xmldsigObjectType->Id.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Id.charactersLen >= 2) { - xmldsigObjectType->Id.charactersLen = (uint16_t)(xmldsigObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Id.charactersLen, xmldsigObjectType->Id.characters, xmldsigObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Id_isUsed = 1u; - grammarID = 9; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 3: - done = 1; - grammarID = 3; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* 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, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - 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='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_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType) { - int grammarID = 10; - int done = 0; - - init_xmldsigTransformType(xmldsigTransformType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->Algorithm.charactersLen >= 2) { - xmldsigTransformType->Algorithm.charactersLen = (uint16_t)(xmldsigTransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->Algorithm.charactersLen, xmldsigTransformType->Algorithm.characters, xmldsigTransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 11; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* 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 (xmldsigTransformType->XPath.arrayLen < xmldsigTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen >= 2) { - xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen = (uint16_t)(xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].characters, xmldsigTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->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 = 12; - } 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 = 12; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->ANY.charactersLen >= 2) { - xmldsigTransformType->ANY.charactersLen = (uint16_t)(xmldsigTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->ANY.charactersLen, xmldsigTransformType->ANY.characters, xmldsigTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->ANY_isUsed = 1u; - grammarID = 12; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* 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 (xmldsigTransformType->XPath.arrayLen < xmldsigTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen >= 2) { - xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen = (uint16_t)(xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].characters, xmldsigTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->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 = 12; - } 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 = 12; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->ANY.charactersLen >= 2) { - xmldsigTransformType->ANY.charactersLen = (uint16_t)(xmldsigTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->ANY.charactersLen, xmldsigTransformType->ANY.characters, xmldsigTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->ANY_isUsed = 1u; - grammarID = 12; - break; - default: - errn = 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_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - int grammarID = 13; - int done = 0; - - init_xmldsigSignatureMethodType(xmldsigSignatureMethodType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->Algorithm.charactersLen >= 2) { - xmldsigSignatureMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigSignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->Algorithm.charactersLen, xmldsigSignatureMethodType->Algorithm.characters, xmldsigSignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 14; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* 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, &xmldsigSignatureMethodType->HMACOutputLength); - xmldsigSignatureMethodType->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 = 2; - } 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 = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* 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, &xmldsigSignatureMethodType->HMACOutputLength); - xmldsigSignatureMethodType->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 = 2; - } 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 = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - int grammarID = 0; - int done = 0; - - init_xmldsigDigestMethodType(xmldsigDigestMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->Algorithm.charactersLen >= 2) { - xmldsigDigestMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigDigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->Algorithm.charactersLen, xmldsigDigestMethodType->Algorithm.characters, xmldsigDigestMethodType_Algorithm_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[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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->ANY.charactersLen >= 2) { - xmldsigDigestMethodType->ANY.charactersLen = (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->ANY.charactersLen, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigDigestMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->ANY.charactersLen >= 2) { - xmldsigDigestMethodType->ANY.charactersLen = (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->ANY.charactersLen, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigDigestMethodType->ANY_isUsed = 1u; - 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='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_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - int grammarID = 16; - int done = 0; - - init_xmldsigRetrievalMethodType(xmldsigRetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 16: - /* 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, &xmldsigRetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->Type.charactersLen >= 2) { - xmldsigRetrievalMethodType->Type.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->Type.charactersLen, xmldsigRetrievalMethodType->Type.characters, xmldsigRetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->Type_isUsed = 1u; - grammarID = 17; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->URI.charactersLen >= 2) { - xmldsigRetrievalMethodType->URI.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->URI.charactersLen, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->URI_isUsed = 1u; - grammarID = 18; - break; - case 2: - errn = decode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 3: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* 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, &xmldsigRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->URI.charactersLen >= 2) { - xmldsigRetrievalMethodType->URI.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->URI.charactersLen, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->URI_isUsed = 1u; - grammarID = 18; - break; - case 1: - errn = decode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* 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_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 1: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - int grammarID = 20; - int done = 0; - - init_xmldsigSignatureValueType(xmldsigSignatureValueType); - - while(!done) { - switch(grammarID) { - case 20: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignatureValueType->Id.charactersLen >= 2) { - xmldsigSignatureValueType->Id.charactersLen = (uint16_t)(xmldsigSignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureValueType->Id.charactersLen, xmldsigSignatureValueType->Id.characters, xmldsigSignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureValueType->Id_isUsed = 1u; - grammarID = 21; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (xmldsigSignatureValueType->CONTENT.bytesLen) <= xmldsigSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytesLen, xmldsigSignatureValueType->CONTENT.bytes); - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (xmldsigSignatureValueType->CONTENT.bytesLen) <= xmldsigSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytesLen, xmldsigSignatureValueType->CONTENT.bytes); - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - int grammarID = 22; - int done = 0; - - init_xmldsigX509IssuerSerialType(xmldsigX509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 22: - /* 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, &xmldsigX509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (xmldsigX509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - xmldsigX509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(xmldsigX509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509IssuerSerialType->X509IssuerName.charactersLen, xmldsigX509IssuerSerialType->X509IssuerName.characters, xmldsigX509IssuerSerialType_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 = 23; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({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, &xmldsigX509IssuerSerialType->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 = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - int grammarID = 24; - int done = 0; - - init_xmldsigSignedInfoType(xmldsigSignedInfoType); - - while(!done) { - switch(grammarID) { - case 24: - /* 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, &xmldsigSignedInfoType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignedInfoType->Id.charactersLen >= 2) { - xmldsigSignedInfoType->Id.charactersLen = (uint16_t)(xmldsigSignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignedInfoType->Id.charactersLen, xmldsigSignedInfoType->Id.characters, xmldsigSignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignedInfoType->Id_isUsed = 1u; - grammarID = 25; - break; - case 1: - errn = decode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod); - grammarID = 26; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* 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_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod); - grammarID = 26; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* 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_xmldsigSignatureMethodType(stream, &xmldsigSignedInfoType->SignatureMethod); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSignedInfoType->Reference.arrayLen < xmldsigSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array[xmldsigSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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 (xmldsigSignedInfoType->Reference.arrayLen < xmldsigSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array[xmldsigSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - 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='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_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - int grammarID = 28; - int done = 0; - - init_xmldsigSignaturePropertiesType(xmldsigSignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 28: - /* 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, &xmldsigSignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertiesType->Id.charactersLen >= 2) { - xmldsigSignaturePropertiesType->Id.charactersLen = (uint16_t)(xmldsigSignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertiesType->Id.charactersLen, xmldsigSignaturePropertiesType->Id.characters, xmldsigSignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertiesType->Id_isUsed = 1u; - grammarID = 29; - break; - case 1: - if (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* 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 (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - 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='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_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - int grammarID = 31; - int done = 0; - - init_xmldsigSignaturePropertyType(xmldsigSignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Id.charactersLen >= 2) { - xmldsigSignaturePropertyType->Id.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Id.charactersLen, xmldsigSignaturePropertyType->Id.characters, xmldsigSignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->Id_isUsed = 1u; - grammarID = 32; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Target.charactersLen >= 2) { - xmldsigSignaturePropertyType->Target.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Target.charactersLen, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 33; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Target.charactersLen >= 2) { - xmldsigSignaturePropertyType->Target.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Target.charactersLen, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 33; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* 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 = 2; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 34; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* 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 = 2; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 34; - break; - default: - errn = 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_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType) { - int grammarID = 35; - int done = 0; - - init_xmldsigKeyValueType(xmldsigKeyValueType); - - while(!done) { - switch(grammarID) { - case 35: - /* 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_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue); - xmldsigKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue); - xmldsigKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 36; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 37; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* 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, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 36; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* 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_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue); - xmldsigKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue); - xmldsigKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 36; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 37; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - int grammarID = 38; - int done = 0; - - init_xmldsigRSAKeyValueType(xmldsigRSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 38: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigRSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (xmldsigRSAKeyValueType->Modulus.bytesLen) <= xmldsigRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigRSAKeyValueType->Modulus.bytesLen, xmldsigRSAKeyValueType->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 = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* 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, &xmldsigRSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (xmldsigRSAKeyValueType->Exponent.bytesLen) <= xmldsigRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigRSAKeyValueType->Exponent.bytesLen, xmldsigRSAKeyValueType->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 = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType) { - int grammarID = 40; - int done = 0; - - init_xmldsigPGPDataType(xmldsigPGPDataType); - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyID.bytesLen) <= xmldsigPGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyID.bytesLen, xmldsigPGPDataType->PGPKeyID.bytes); - } - xmldsigPGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 41; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyPacket.bytesLen) <= xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytesLen, xmldsigPGPDataType->PGPKeyPacket.bytes); - } - xmldsigPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyPacket.bytesLen) <= xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytesLen, xmldsigPGPDataType->PGPKeyPacket.bytes); - } - xmldsigPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } 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 = 42; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 42; - 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='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_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType) { - int grammarID = 43; - int done = 0; - - init_xmldsigTransformsType(xmldsigTransformsType); - - while(!done) { - switch(grammarID) { - case 43: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigTransformsType->Transform.arrayLen < xmldsigTransformsType_Transform_ARRAY_SIZE) { - errn = decode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array[xmldsigTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* 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 (xmldsigTransformsType->Transform.arrayLen < xmldsigTransformsType_Transform_ARRAY_SIZE) { - errn = decode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array[xmldsigTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - 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='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_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType) { - int grammarID = 45; - int done = 0; - - init_xmldsigX509DataType(xmldsigX509DataType); - - while(!done) { - switch(grammarID) { - case 45: - /* 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 (xmldsigX509DataType->X509IssuerSerial.arrayLen < xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array[xmldsigX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - if (xmldsigX509DataType->X509SKI.arrayLen < xmldsigX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen) <= xmldsigX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigX509DataType->X509SubjectName.arrayLen < xmldsigX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].characters, xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (xmldsigX509DataType->X509Certificate.arrayLen < xmldsigX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen) <= xmldsigX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (xmldsigX509DataType->X509CRL.arrayLen < xmldsigX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen) <= xmldsigX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } 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 = 46; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 46: - /* 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 (xmldsigX509DataType->X509IssuerSerial.arrayLen < xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array[xmldsigX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - if (xmldsigX509DataType->X509SKI.arrayLen < xmldsigX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen) <= xmldsigX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigX509DataType->X509SubjectName.arrayLen < xmldsigX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].characters, xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (xmldsigX509DataType->X509Certificate.arrayLen < xmldsigX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen) <= xmldsigX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (xmldsigX509DataType->X509CRL.arrayLen < xmldsigX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen) <= xmldsigX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } 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 = 46; - 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='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_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType) { - int grammarID = 47; - int done = 0; - - init_xmldsigSignatureType(xmldsigSignatureType); - - while(!done) { - switch(grammarID) { - case 47: - /* 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, &xmldsigSignatureType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignatureType->Id.charactersLen >= 2) { - xmldsigSignatureType->Id.charactersLen = (uint16_t)(xmldsigSignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureType->Id.charactersLen, xmldsigSignatureType->Id.characters, xmldsigSignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureType->Id_isUsed = 1u; - grammarID = 48; - break; - case 1: - errn = decode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* 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_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* 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_xmldsigSignatureValueType(stream, &xmldsigSignatureType->SignatureValue); - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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_xmldsigKeyInfoType(stream, &xmldsigSignatureType->KeyInfo); - xmldsigSignatureType->KeyInfo_isUsed = 1u; - grammarID = 51; - break; - case 1: - if (xmldsigSignatureType->Object.arrayLen < xmldsigSignatureType_Object_ARRAY_SIZE) { - errn = decode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array[xmldsigSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* 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 (xmldsigSignatureType->Object.arrayLen < xmldsigSignatureType_Object_ARRAY_SIZE) { - errn = decode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array[xmldsigSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - 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='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_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - int grammarID = 52; - int done = 0; - - init_xmldsigDSAKeyValueType(xmldsigDSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 52: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->P.bytesLen) <= xmldsigDSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->P.bytesLen, xmldsigDSAKeyValueType->P.bytes); - } - xmldsigDSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 53; - } 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, &xmldsigDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->G.bytesLen) <= xmldsigDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->G.bytesLen, xmldsigDSAKeyValueType->G.bytes); - } - xmldsigDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 54; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 53: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Q.bytesLen) <= xmldsigDSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Q.bytesLen, xmldsigDSAKeyValueType->Q.bytes); - } - xmldsigDSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 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({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->G.bytesLen) <= xmldsigDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->G.bytesLen, xmldsigDSAKeyValueType->G.bytes); - } - xmldsigDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 54; - } 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, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } 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({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } 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({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->J.bytesLen) <= xmldsigDSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->J.bytesLen, xmldsigDSAKeyValueType->J.bytes); - } - xmldsigDSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 57; - } 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, &xmldsigDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Seed.bytesLen) <= xmldsigDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytesLen, xmldsigDSAKeyValueType->Seed.bytes); - } - xmldsigDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 58; - } 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 57: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Seed.bytesLen) <= xmldsigDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytesLen, xmldsigDSAKeyValueType->Seed.bytes); - } - xmldsigDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 58; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->PgenCounter.bytesLen) <= xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->PgenCounter.bytesLen, xmldsigDSAKeyValueType->PgenCounter.bytes); - } - xmldsigDSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType) { - int grammarID = 59; - int done = 0; - - init_xmldsigReferenceType(xmldsigReferenceType); - - while(!done) { - switch(grammarID) { - case 59: - /* 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, &xmldsigReferenceType->Id.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Id.charactersLen >= 2) { - xmldsigReferenceType->Id.charactersLen = (uint16_t)(xmldsigReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Id.charactersLen, xmldsigReferenceType->Id.characters, xmldsigReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Id_isUsed = 1u; - grammarID = 60; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->Type.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Type.charactersLen >= 2) { - xmldsigReferenceType->Type.charactersLen = (uint16_t)(xmldsigReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Type.charactersLen, xmldsigReferenceType->Type.characters, xmldsigReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Type_isUsed = 1u; - grammarID = 61; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 3: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 4: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* 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, &xmldsigReferenceType->Type.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Type.charactersLen >= 2) { - xmldsigReferenceType->Type.charactersLen = (uint16_t)(xmldsigReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Type.charactersLen, xmldsigReferenceType->Type.characters, xmldsigReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Type_isUsed = 1u; - grammarID = 61; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 2: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 3: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* 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, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 1: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 2: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 62: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 1: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* 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_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (xmldsigReferenceType->DigestValue.bytesLen) <= xmldsigReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigReferenceType->DigestValue.bytesLen, xmldsigReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - int grammarID = 65; - int done = 0; - - init_xmldsigSPKIDataType(xmldsigSPKIDataType); - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } 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 = 67; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - 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='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_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - int grammarID = 68; - int done = 0; - - init_xmldsigKeyInfoType(xmldsigKeyInfoType); - - while(!done) { - switch(grammarID) { - case 68: - /* 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, &xmldsigKeyInfoType->Id.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->Id.charactersLen >= 2) { - xmldsigKeyInfoType->Id.charactersLen = (uint16_t)(xmldsigKeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->Id.charactersLen, xmldsigKeyInfoType->Id.characters, xmldsigKeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->Id_isUsed = 1u; - grammarID = 69; - break; - case 1: - if (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 7: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - done = 1; - grammarID = 3; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 70; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({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({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({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_xmldsigEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 5, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_xmldsigCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_xmldsigDSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_xmldsigDigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 4: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_xmldsigKeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_xmldsigKeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_xmldsigManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_xmldsigObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_xmldsigPGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_xmldsigRSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_xmldsigReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_xmldsigRetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_xmldsigSPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_xmldsigSignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_xmldsigSignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_xmldsigSignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_xmldsigSignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_xmldsigSignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_xmldsigSignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_xmldsigTransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_xmldsigTransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_xmldsigX509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int decode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), 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({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), 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_GENERIC, END_DOCUMENT] */ - init_xmldsigEXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_xmldsigCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_xmldsigDSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_xmldsigDigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 4: - /* 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; - } - } - break; - case 5: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 7: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_xmldsigKeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_xmldsigKeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_xmldsigManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 14: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_xmldsigObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 16: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_xmldsigPGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 18: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ - break; - case 19: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 21: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_xmldsigRSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_xmldsigReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_xmldsigRetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_xmldsigSPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_xmldsigSignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_xmldsigSignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_xmldsigSignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_xmldsigSignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_xmldsigSignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_xmldsigSignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_xmldsigTransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_xmldsigTransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 37: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_xmldsigX509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_xmldsigX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 42: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 43: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 44: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (eventCode != 46) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.h b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.h deleted file mode 100644 index 5c61d90..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_xmldsig_DATATYPES_DECODER_H -#define EXI_xmldsig_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "xmldsigEXIDatatypes.h" - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc); - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int decode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.c b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.c deleted file mode 100644 index 1fc92d2..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.c +++ /dev/null @@ -1,3589 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - - -#include "xmldsigEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "xmldsigEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_xmldsig_DATATYPES_ENCODER_C -#define EXI_xmldsig_DATATYPES_ENCODER_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -static int encode_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType); -static int encode_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType); -static int encode_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType); -static int encode_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -static int encode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType); -static int encode_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -static int encode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType); -static int encode_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -static int encode_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType); -static int encode_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -static int encode_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -static int encode_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType); -static int encode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -static int encode_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType); -static int encode_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType); -static int encode_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType); -static int encode_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType); -static int encode_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -static int encode_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType); -static int encode_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType); -static int encode_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType); - - - /* 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_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - int grammarID = 0; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* 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)(xmldsigCanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->Algorithm.characters, xmldsigCanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType) { - int grammarID = 4; - int done = 0; - - unsigned int xmldsigManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 4: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( xmldsigManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigManifestType->Id.characters, xmldsigManifestType->Id.charactersLen); - } - } - grammarID = 5; - } else if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } 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='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_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType) { - int grammarID = 7; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Encoding.characters, xmldsigObjectType->Encoding.charactersLen); - } - } - grammarID = 8; - } else if ( xmldsigObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Id.characters, xmldsigObjectType->Id.charactersLen); - } - } - grammarID = 9; - } else if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Id.characters, xmldsigObjectType->Id.charactersLen); - } - } - grammarID = 9; - } else if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType) { - int grammarID = 10; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigTransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 10: - /* 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)(xmldsigTransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->Algorithm.characters, xmldsigTransformType->Algorithm.charactersLen); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (xmldsigTransformType_XPath_currArrayIndex < xmldsigTransformType->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)(xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].characters, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen); - xmldsigTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 12; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 12; - } else if ( xmldsigTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->ANY.characters, xmldsigTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 12; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 12: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (xmldsigTransformType_XPath_currArrayIndex < xmldsigTransformType->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)(xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].characters, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen); - xmldsigTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 12; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 12; - } else if ( xmldsigTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->ANY.characters, xmldsigTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 12; - } 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_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - int grammarID = 13; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* 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)(xmldsigSignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->Algorithm.characters, xmldsigSignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigSignatureMethodType->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, xmldsigSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigSignatureMethodType->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, xmldsigSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 15; - } 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_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - int grammarID = 0; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* 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)(xmldsigDigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->Algorithm.characters, xmldsigDigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->Type.characters, xmldsigRetrievalMethodType->Type.charactersLen); - } - } - grammarID = 17; - } else if ( xmldsigRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 18; - } else if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 18; - } else if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - int grammarID = 20; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 20: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( xmldsigSignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureValueType->Id.characters, xmldsigSignatureValueType->Id.charactersLen); - } - } - grammarID = 21; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytes, xmldsigSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 21: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytes, xmldsigSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - int grammarID = 22; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 22: - /* 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)(xmldsigX509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509IssuerSerialType->X509IssuerName.characters, xmldsigX509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 23; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* 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, xmldsigX509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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#,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_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - int grammarID = 24; - int done = 0; - - unsigned int xmldsigSignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( xmldsigSignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignedInfoType->Id.characters, xmldsigSignedInfoType->Id.charactersLen); - } - } - grammarID = 25; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod ); - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod ); - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &xmldsigSignedInfoType->SignatureMethod ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (xmldsigSignedInfoType_Reference_currArrayIndex < xmldsigSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array [xmldsigSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (xmldsigSignedInfoType_Reference_currArrayIndex < xmldsigSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array [xmldsigSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 6; - } 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='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_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - int grammarID = 28; - int done = 0; - - unsigned int xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( xmldsigSignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertiesType->Id.characters, xmldsigSignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 29; - } else if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } 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='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_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - int grammarID = 31; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( xmldsigSignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Id.characters, xmldsigSignaturePropertyType->Id.charactersLen); - } - } - grammarID = 32; - } 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)(xmldsigSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* 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)(xmldsigSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 34; - } 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_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType) { - int grammarID = 35; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 35: - /* 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 ( xmldsigKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue ); - } - grammarID = 36; - } else if ( xmldsigKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue ); - } - grammarID = 36; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 37; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigKeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* 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 ( xmldsigKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue ); - } - grammarID = 36; - } else if ( xmldsigKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue ); - } - grammarID = 36; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 37; - } 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_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - int grammarID = 38; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 38: - /* 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)(xmldsigRSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigRSAKeyValueType->Modulus.bytes, xmldsigRSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* 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)(xmldsigRSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigRSAKeyValueType->Exponent.bytes, xmldsigRSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType) { - int grammarID = 40; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyID.bytes, xmldsigPGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 41; - } else if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytes, xmldsigPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytes, xmldsigPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 42; - } else if ( xmldsigPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 42; - } else if ( xmldsigPGPDataType->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='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_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType) { - int grammarID = 43; - int done = 0; - - unsigned int xmldsigTransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 43: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (xmldsigTransformsType_Transform_currArrayIndex < xmldsigTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array [xmldsigTransformsType_Transform_currArrayIndex++]); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (xmldsigTransformsType_Transform_currArrayIndex < xmldsigTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array [xmldsigTransformsType_Transform_currArrayIndex++]); - } - grammarID = 44; - } 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='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_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType) { - int grammarID = 45; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigX509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509SKI_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509Certificate_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 45: - /* 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 (xmldsigX509DataType_X509IssuerSerial_currArrayIndex < xmldsigX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array [xmldsigX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SKI_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytes, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen); - xmldsigX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SubjectName_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].characters, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen); - xmldsigX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509Certificate_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytes, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen); - xmldsigX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509CRL_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytes, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen); - xmldsigX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 46; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 46: - /* 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 (xmldsigX509DataType_X509IssuerSerial_currArrayIndex < xmldsigX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array [xmldsigX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SKI_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytes, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen); - xmldsigX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SubjectName_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].characters, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen); - xmldsigX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509Certificate_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytes, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen); - xmldsigX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509CRL_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytes, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen); - xmldsigX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 46; - } else if ( xmldsigX509DataType->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='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_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType) { - int grammarID = 47; - int done = 0; - - unsigned int xmldsigSignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 47: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( xmldsigSignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureType->Id.characters, xmldsigSignatureType->Id.charactersLen); - } - } - grammarID = 48; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &xmldsigSignatureType->SignatureValue ); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( xmldsigSignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &xmldsigSignatureType->KeyInfo ); - } - grammarID = 51; - } else if (xmldsigSignatureType_Object_currArrayIndex < xmldsigSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array [xmldsigSignatureType_Object_currArrayIndex++]); - } - grammarID = 51; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (xmldsigSignatureType_Object_currArrayIndex < xmldsigSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array [xmldsigSignatureType_Object_currArrayIndex++]); - } - grammarID = 51; - } 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='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_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - int grammarID = 52; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 52: - /* 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 ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->P.bytes, xmldsigDSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 53; - } else if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->G.bytes, xmldsigDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Q.bytes, xmldsigDSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 56; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->G.bytes, xmldsigDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 54: - /* 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->J.bytes, xmldsigDSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 57; - } else if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytes, xmldsigDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytes, xmldsigDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->PgenCounter.bytes, xmldsigDSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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 ( xmldsigReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Id.characters, xmldsigReferenceType->Id.charactersLen); - } - } - grammarID = 60; - } else if ( xmldsigReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Type.characters, xmldsigReferenceType->Type.charactersLen); - } - } - grammarID = 61; - } else if ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* 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 ( xmldsigReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Type.characters, xmldsigReferenceType->Type.charactersLen); - } - } - grammarID = 61; - } else if ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* 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 ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 62: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* 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)(xmldsigReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigReferenceType->DigestValue.bytes, xmldsigReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - int grammarID = 65; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigSPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 67; - } else if ( xmldsigSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else if ( xmldsigSPKIDataType->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='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_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - int grammarID = 68; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigKeyInfoType_KeyName_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_X509Data_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_PGPData_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 68: - /* 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 ( xmldsigKeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->Id.characters, xmldsigKeyInfoType->Id.charactersLen); - } - } - grammarID = 69; - } else if (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 70; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({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({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({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 1); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 5, 4); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 5, 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 6); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 5, 7); - if(errn == 0) { - errn = encode_xmldsigManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 8); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 5, 9); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 10); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 11); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 5, 12); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 13); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 14); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 5, 15); - if(errn == 0) { - errn = encode_xmldsigSignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 16); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 5, 17); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 5, 18); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 19); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 5, 20); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 5, 21); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 5, 22); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 5, 23); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int encode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), 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({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), 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_GENERIC, END_DOCUMENT] */ - if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = encodeNBitUnsignedInteger(stream, 6, 4); - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* 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, 6, 7); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 9); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_xmldsigManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 12); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* 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, 6, 21); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_xmldsigSignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 6, 36); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 6, 37); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 38); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 6, 39); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 6, 40); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 6, 41); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 42); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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, 6, 43); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 6, 44); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 6, 46); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.h b/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.h deleted file mode 100644 index 297d98c..0000000 --- a/Port/vc2022/src/xmldsig/xmldsigEXIDatatypesEncoder.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_xmldsig_DATATYPES_ENCODER_H -#define EXI_xmldsig_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "xmldsigEXIDatatypes.h" - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int encode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc); - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int encode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Port/vc2022/struct_exi.txt b/Port/vc2022/struct_exi.txt deleted file mode 100644 index aed3667..0000000 --- a/Port/vc2022/struct_exi.txt +++ /dev/null @@ -1,46 +0,0 @@ -=== ISO1 EXI Document Structure Dump === - -V2G_Message_isUsed: 1 - ---- Header --- -SessionID.bytesLen: 8 -SessionID.bytes: 4142423030303831 -Notification_isUsed: 0 -Signature_isUsed: 0 - ---- Body Message Type Flags --- -AuthorizationReq_isUsed: 0 -AuthorizationRes_isUsed: 0 -BodyElement_isUsed: 0 -CableCheckReq_isUsed: 0 -CableCheckRes_isUsed: 0 -CertificateInstallationReq_isUsed: 0 -CertificateInstallationRes_isUsed: 0 -CertificateUpdateReq_isUsed: 0 -CertificateUpdateRes_isUsed: 0 -ChargeParameterDiscoveryReq_isUsed: 0 -ChargeParameterDiscoveryRes_isUsed: 0 -ChargingStatusReq_isUsed: 0 -ChargingStatusRes_isUsed: 0 -CurrentDemandReq_isUsed: 0 -CurrentDemandRes_isUsed: 1 -MeteringReceiptReq_isUsed: 0 -MeteringReceiptRes_isUsed: 0 -PaymentDetailsReq_isUsed: 0 -PaymentDetailsRes_isUsed: 0 -PaymentServiceSelectionReq_isUsed: 0 -PaymentServiceSelectionRes_isUsed: 0 -PowerDeliveryReq_isUsed: 0 -PowerDeliveryRes_isUsed: 0 -PreChargeReq_isUsed: 0 -PreChargeRes_isUsed: 0 -ServiceDetailReq_isUsed: 0 -ServiceDetailRes_isUsed: 0 -ServiceDiscoveryReq_isUsed: 0 -ServiceDiscoveryRes_isUsed: 0 -SessionSetupReq_isUsed: 0 -SessionSetupRes_isUsed: 0 -SessionStopReq_isUsed: 0 -SessionStopRes_isUsed: 0 -WeldingDetectionReq_isUsed: 0 -WeldingDetectionRes_isUsed: 0 diff --git a/README.txt b/README.txt deleted file mode 100644 index 981ed84..0000000 --- a/README.txt +++ /dev/null @@ -1,165 +0,0 @@ -------------------------------------------------------------------------- -OpenV2G - an open source project implementing the basic functionality of the ISO IEC 15118 vehicle to grid (V2G) communication interface -Version 0.9.5, released March 11, 2022 -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-2022 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 . - -------------------------------------------------------------------------- -CHANGES from version 0.9.4: -------------------------------------------------------------------------- -* fix possible memory corruption bug - -------------------------------------------------------------------------- -CHANGES from version 0.9.3: -------------------------------------------------------------------------- -* Support for 15118-2-2016 (ISO2) started besides 15118-2-2013 (ISO1) and DIN -* fix eMAID fragment encoding/decoding support -* internal coding updates -* bug-fixes - -------------------------------------------------------------------------- -CHANGES from version 0.9.2: -------------------------------------------------------------------------- -* resolves XML signature interoperability issue - Note: To make use of xmldsig the following defines have to be set. - in "xmldsigEXIDatatypes.h" - #define DEPLOY_XMLDSIG_CODEC SUPPORT_YES - #define DEPLOY_XMLDSIG_CODEC_FRAGMENT SUPPORT_YES - in "v2gEXIDatatypes.h" - #define DEPLOY_ISO_CODEC_FRAGMENT SUPPORT_YES - Otherwise the code is turned off. - -------------------------------------------------------------------------- -CHANGES from version 0.9.1: -------------------------------------------------------------------------- -* resolves bug with name clashes w.r.t. iso and din track -* fixes issue with test code for init handshake -* Note: OpenV2G 0.9.2 is essentially just a bug fixed version of OpenV2G 0.9.1 - -------------------------------------------------------------------------- -CHANGES from version 0.9: -------------------------------------------------------------------------- -* includes support for DIN and hence interoperability with OpenV2G 0.7 - (needs to be switched on though by #define DEPLOY_DIN_CODEC) -* fixes bugs and warnings for Visual Studio -* Note: OpenV2G 0.9.1 is a superset of previous versions - v2g...c/h files support ISO track - din...c/h files support DIN track - -------------------------------------------------------------------------- -CHANGES from version 0.8: -------------------------------------------------------------------------- -* large code footprint reduction which resulted in a new API - (please take a look at the example in src/test folder) -* datatype differences w.r.t. arrays, strings, bytes, isUsed, and enum-naming -* bug-fixes -* Note: OpenV2G 0.8 and 0.9 are interoperable, meaning that one can generate - streams with one and decode with the other or vice-versa - -------------------------------------------------------------------------- -CHANGES from version 0.7: -------------------------------------------------------------------------- -* adaption of V2G schema changes (reflects the ISO/IEC 15118-2 FDIS status) -* bug-fixes - - -------------------------------------------------------------------------- -CHANGES from version 0.7: -------------------------------------------------------------------------- -* adaption of V2G schema changes (reflects the ISO/IEC 15118-2 FDIS status) -* bug-fixes - -------------------------------------------------------------------------- -CHANGES from version 0.6: -------------------------------------------------------------------------- -* adaption of V2G schema changes (reflects the ISO/IEC 15118-2 DIS status and DIN 70121) -* reduced memory usage -* EXI decoder skips schema deviations according to EXI Profile -* bug-fixes - -------------------------------------------------------------------------- -CHANGES from version 0.5: -------------------------------------------------------------------------- -* adaption of V2G schema changes -* application handshake protocol implementation -* asynchronised communication -* reduced memory usage -* changed V2GTP byte order from little endian to big endian -* bug-fixes -* updated AC demo interaction between EV and EVSE, and -* updated DC demo interaction between EV and EVSE - - -------------------------------------------------------------------------- -CHANGES from version 0.4: -------------------------------------------------------------------------- -* adaption of V2G schema changes -* V2GTP implementation (replaces the DoIP implementation) -* EXI default coder for the 15118 schema (replaces the strict mode of EXI) -* AC demo interaction between PEV and EVSE, and -* DC demo interaction between PEV and EVSE - - -------------------------------------------------------------------------- -CHANGES from version 0.3.1: -------------------------------------------------------------------------- -* adaption of V2G schema changes -* supporting of DC messages -* example program showing the message sequence of AC charging and -DC charging -* bug-fixes - -------------------------------------------------------------------------- -CHANGES from version 0.3: -------------------------------------------------------------------------- -* Bug-fixes -* reduced memory usage -* some type changes in the EXI codec and V2G service: -** struct v2gService->struct EXIService in v2g_service.h -** size_t->uint16_t in v2g_serviceClientDataTransmitter.h and doIP.h -* renaming of some enumeration values in v2g_serviceDataTypes.h - -------------------------------------------------------------------------- -CHANGES from version 0.2.2: -------------------------------------------------------------------------- -* Bug-fixes -* first DoIP implementation -* V2G message error handling -* adaption of V2G schema changes -* code optimizations - -------------------------------------------------------------------------- -CHANGES from version 0.2.1: -------------------------------------------------------------------------- -* Bug-fixes -* adaption of V2G schema changes -* some code optimizations - -------------------------------------------------------------------------- -CHANGES from version 0.2: -------------------------------------------------------------------------- -* Bug-fixes -* Fixed compiler warnings - -------------------------------------------------------------------------- -CHANGES from version 0.1: -------------------------------------------------------------------------- -* Bug-fixes -* Service and Client added \ No newline at end of file diff --git a/REPORT.md b/REPORT.md deleted file mode 100644 index 7981b35..0000000 --- a/REPORT.md +++ /dev/null @@ -1,180 +0,0 @@ -# V2GDecoderC - Comprehensive Code Analysis Report - -## 📊 Project Overview - -**OpenV2G** v0.9.5 - ISO/IEC 15118 Vehicle-to-Grid (V2G) communication implementation in C. This project provides EXI (Efficient XML Interchange) codec functionality for V2G protocol messages. - -### ðŸ—ï¸ Architecture Structure - -**Primary Components:** -- **src/codec/** - Core EXI encoding/decoding engine (8 modules) -- **src/iso1/** - ISO 15118-2-2013 protocol implementation (3 modules) -- **src/iso2/** - ISO 15118-2-2016 protocol implementation (3 modules) -- **src/din/** - DIN 70121 protocol implementation (3 modules) -- **src/xmldsig/** - XML digital signature support (3 modules) -- **src/appHandshake/** - Application handshake protocol (3 modules) -- **src/transport/** - V2G transfer protocol layer (1 module) -- **src/test/** - Test harnesses and examples (3 modules) - -**Generated files:** 31 C files, 28 header files (59 total) -**Static allocation:** Memory management configured for embedded systems - ---- - -## âš ï¸ Security Analysis - **CRITICAL** - -### 🚨 High-Risk Vulnerabilities - -**Buffer Overflow Potential:** -- `sscanf` usage in enhanced_exi_viewer.c:406 without bounds checking -- `memcpy` operations (39 instances) - potential buffer overruns -- Raw memory access patterns throughout EXI decoder modules - -**Memory Safety Issues:** -- Limited heap allocation usage (10 instances across 4 files) -- Static buffers without comprehensive size validation -- NULL pointer checks present but inconsistent patterns - -**Input Validation Gaps:** -- Network data processing lacks comprehensive validation -- EXI stream parsing vulnerable to malformed input -- Protocol parsing assumes well-formed V2G messages - -### ðŸ›¡ï¸ Positive Security Features - -**Error Handling:** -- Comprehensive error codes defined (src/codec/ErrorCodes.h) -- Bounds checking implemented with EXI_ERROR_OUT_OF_BOUNDS -- Systematic error propagation throughout codec layers - ---- - -## 📈 Performance Assessment - -### âš¡ Performance Characteristics - -**Memory Efficiency:** -- Static allocation strategy → predictable memory usage -- Minimal heap operations → reduced fragmentation risk -- Fixed buffer sizes → deterministic resource consumption - -**Computational Efficiency:** -- Loop structures: 806 instances across 18 files -- Conditional logic: 831 instances across 16 files -- Direct memory operations → optimized for embedded systems - -**Bottleneck Areas:** -- EXI encoding/decoding operations (computationally intensive) -- String processing in protocol message handling -- Repetitive validation loops in decoder channels - ---- - -## 🎯 Code Quality Analysis - -### ✅ Strengths - -**Modular Design:** -- Clear separation between protocol versions (ISO1, ISO2, DIN) -- Layered architecture with codec → protocol → transport -- Consistent naming conventions across modules - -**Documentation:** -- Generated code headers with authorship/versioning -- Copyright notices and licensing information present -- Configuration options clearly documented - -**Standards Compliance:** -- LGPL v3 licensing appropriately applied -- Generated from XML schema (V2G_CI_MsgDef.xsd) -- Industry-standard V2G protocol implementation - -### ⌠Quality Issues - -**Technical Debt:** -- 108 TODO comments indicating incomplete features -- Unsupported generic events (80+ instances) -- Hardcoded buffer sizes (BUFFER_SIZE 4096) -- Legacy compatibility code paths - -**Maintainability:** -- Auto-generated code → manual modifications challenging -- Deep function call hierarchies in codec modules -- Complex conditional compilation patterns (991 #define/#ifdef) - ---- - -## 🭠Architecture Review - -### 🔧 Design Patterns - -**Layered Architecture:** -``` -Application Layer: enhanced_exi_viewer, test programs -Protocol Layer: ISO1, ISO2, DIN implementations -Codec Layer: EXI encoding/decoding engine -Transport Layer: V2G Transfer Protocol (V2GTP) -``` - -**Configuration Management:** -- Compile-time configuration (EXIConfig.h) -- Memory allocation strategy selection -- String representation options (ASCII/UCS) -- Stream handling options (byte array/file) - -**Error Handling Strategy:** -- Return code propagation pattern -- Centralized error definitions -- State machine error recovery - -### 📋 Recommendations - -## 🎯 Priority Actions - -### **CRITICAL (Immediate)** -1. **Security Hardening** - - Implement bounds checking for all `memcpy` operations - - Replace `sscanf` with safer parsing alternatives - - Add input validation for all network data processing - -2. **Memory Safety** - - Audit all buffer operations for overflow potential - - Implement consistent NULL pointer validation - - Add size validation for all array accesses - -### **HIGH (Short-term)** -3. **Technical Debt Reduction** - - Address TODO items systematically (108 instances) - - Implement missing generic event handlers - - Remove deprecated compatibility code - -4. **Testing Enhancement** - - Add comprehensive security test cases - - Implement fuzzing for input validation - - Create performance benchmarks - -### **MEDIUM (Long-term)** -5. **Code Modernization** - - Consider migration to safer C alternatives - - Implement automated code analysis tools - - Add static analysis integration - -6. **Documentation** - - Create security architecture documentation - - Add performance tuning guidelines - - Develop secure deployment practices - ---- - -## 📊 Summary Metrics - -| Category | Count | Status | -|----------|-------|---------| -| **Total Files** | 59 | ✅ Analyzed | -| **Security Issues** | 15+ | âš ï¸ Critical | -| **TODO Items** | 108 | âš ï¸ Technical Debt | -| **Memory Operations** | 615 | âš ï¸ Review Needed | -| **Error Codes** | 50+ | ✅ Comprehensive | -| **Test Coverage** | Limited | ⌠Needs Enhancement | - -**Overall Risk Assessment:** **HIGH** - Requires immediate security attention before production deployment. \ No newline at end of file diff --git a/Release/makefile b/Release/makefile deleted file mode 100644 index f275f6d..0000000 --- a/Release/makefile +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - --include ../makefile.init - -RM := rm -rf - -# All of the sources participating in the build are defined here --include sources.mk --include src/xmldsig/subdir.mk --include src/transport/subdir.mk --include src/test/subdir.mk --include src/iso2/subdir.mk --include src/iso1/subdir.mk --include src/din/subdir.mk --include src/codec/subdir.mk --include src/appHandshake/subdir.mk --include subdir.mk --include objects.mk - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -endif - --include ../makefile.defs - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: OpenV2G.exe - -# Tool invocations -OpenV2G.exe: $(OBJS) $(USER_OBJS) - @echo 'Building target: $@' - @echo 'Invoking: MinGW C Linker' - gcc -o "OpenV2G.exe" $(OBJS) $(USER_OBJS) $(LIBS) - @echo 'Finished building target: $@' - @echo ' ' - -# Other Targets -clean: - -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) OpenV2G.exe - -@echo ' ' - -.PHONY: all clean dependents -.SECONDARY: - --include ../makefile.targets diff --git a/Release/objects.mk b/Release/objects.mk deleted file mode 100644 index 742c2da..0000000 --- a/Release/objects.mk +++ /dev/null @@ -1,8 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -USER_OBJS := - -LIBS := - diff --git a/Release/sources.mk b/Release/sources.mk deleted file mode 100644 index 2fad96d..0000000 --- a/Release/sources.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -OBJ_SRCS := -ASM_SRCS := -C_SRCS := -S_UPPER_SRCS := -O_SRCS := -EXECUTABLES := -OBJS := -C_DEPS := - -# Every subdirectory with source files must be described here -SUBDIRS := \ -src/xmldsig \ -src/transport \ -src/test \ -src/iso2 \ -src/iso1 \ -src/din \ -src/codec \ -src/appHandshake \ - diff --git a/Release/src/appHandshake/subdir.mk b/Release/src/appHandshake/subdir.mk deleted file mode 100644 index 815d160..0000000 --- a/Release/src/appHandshake/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/appHandshake/appHandEXIDatatypes.c \ -../src/appHandshake/appHandEXIDatatypesDecoder.c \ -../src/appHandshake/appHandEXIDatatypesEncoder.c - -OBJS += \ -./src/appHandshake/appHandEXIDatatypes.o \ -./src/appHandshake/appHandEXIDatatypesDecoder.o \ -./src/appHandshake/appHandEXIDatatypesEncoder.o - -C_DEPS += \ -./src/appHandshake/appHandEXIDatatypes.d \ -./src/appHandshake/appHandEXIDatatypesDecoder.d \ -./src/appHandshake/appHandEXIDatatypesEncoder.d - - -# Each subdirectory must supply rules for building sources it contributes -src/appHandshake/%.o: ../src/appHandshake/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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/codec/subdir.mk b/Release/src/codec/subdir.mk deleted file mode 100644 index 665199e..0000000 --- a/Release/src/codec/subdir.mk +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/codec/BitInputStream.c \ -../src/codec/BitOutputStream.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 - -OBJS += \ -./src/codec/BitInputStream.o \ -./src/codec/BitOutputStream.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 - -C_DEPS += \ -./src/codec/BitInputStream.d \ -./src/codec/BitOutputStream.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 - - -# Each subdirectory must supply rules for building sources it contributes -src/codec/%.o: ../src/codec/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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/din/subdir.mk b/Release/src/din/subdir.mk deleted file mode 100644 index 254833f..0000000 --- a/Release/src/din/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# 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/iso1" -I"../src/iso2" -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/iso1/subdir.mk b/Release/src/iso1/subdir.mk deleted file mode 100644 index 40d6a1a..0000000 --- a/Release/src/iso1/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/iso1/iso1EXIDatatypes.c \ -../src/iso1/iso1EXIDatatypesDecoder.c \ -../src/iso1/iso1EXIDatatypesEncoder.c - -OBJS += \ -./src/iso1/iso1EXIDatatypes.o \ -./src/iso1/iso1EXIDatatypesDecoder.o \ -./src/iso1/iso1EXIDatatypesEncoder.o - -C_DEPS += \ -./src/iso1/iso1EXIDatatypes.d \ -./src/iso1/iso1EXIDatatypesDecoder.d \ -./src/iso1/iso1EXIDatatypesEncoder.d - - -# Each subdirectory must supply rules for building sources it contributes -src/iso1/%.o: ../src/iso1/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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/iso2/subdir.mk b/Release/src/iso2/subdir.mk deleted file mode 100644 index f507bfe..0000000 --- a/Release/src/iso2/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/iso2/iso2EXIDatatypes.c \ -../src/iso2/iso2EXIDatatypesDecoder.c \ -../src/iso2/iso2EXIDatatypesEncoder.c - -OBJS += \ -./src/iso2/iso2EXIDatatypes.o \ -./src/iso2/iso2EXIDatatypesDecoder.o \ -./src/iso2/iso2EXIDatatypesEncoder.o - -C_DEPS += \ -./src/iso2/iso2EXIDatatypes.d \ -./src/iso2/iso2EXIDatatypesDecoder.d \ -./src/iso2/iso2EXIDatatypesEncoder.d - - -# Each subdirectory must supply rules for building sources it contributes -src/iso2/%.o: ../src/iso2/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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/test/subdir.mk b/Release/src/test/subdir.mk deleted file mode 100644 index 562862f..0000000 --- a/Release/src/test/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/test/main.c \ -../src/test/main_databinder.c \ -../src/test/main_example.c - -OBJS += \ -./src/test/main.o \ -./src/test/main_databinder.o \ -./src/test/main_example.o - -C_DEPS += \ -./src/test/main.d \ -./src/test/main_databinder.d \ -./src/test/main_example.d - - -# Each subdirectory must supply rules for building sources it contributes -src/test/%.o: ../src/test/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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/transport/subdir.mk b/Release/src/transport/subdir.mk deleted file mode 100644 index 9b154be..0000000 --- a/Release/src/transport/subdir.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -C_SRCS += \ -../src/transport/v2gtp.c - -OBJS += \ -./src/transport/v2gtp.o - -C_DEPS += \ -./src/transport/v2gtp.d - - -# Each subdirectory must supply rules for building sources it contributes -src/transport/%.o: ../src/transport/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -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 deleted file mode 100644 index 130a0d2..0000000 --- a/Release/src/xmldsig/subdir.mk +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# 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/iso1" -I"../src/iso2" -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/V2GDecoder.c b/V2GDecoder.c deleted file mode 100644 index b400c8a..0000000 --- a/V2GDecoder.c +++ /dev/null @@ -1,1809 +0,0 @@ -#include -#include -#include -#include -#include -#include - -/* EXI codec headers */ -#include "iso1EXIDatatypes.h" -#include "iso1EXIDatatypesDecoder.h" -#include "iso1EXIDatatypesEncoder.h" -#include "iso2EXIDatatypes.h" -#include "iso2EXIDatatypesDecoder.h" -#include "iso2EXIDatatypesEncoder.h" -#include "dinEXIDatatypes.h" -#include "dinEXIDatatypesDecoder.h" -#include "dinEXIDatatypesEncoder.h" -#include "ByteStream.h" - -#define BUFFER_SIZE 4096 - -// Network protocol patterns and definitions -#define ETH_TYPE_IPV6 0x86DD // Ethernet Type: IPv6 -#define IPV6_NEXT_HEADER_TCP 0x06 // IPv6 Next Header: TCP -#define TCP_V2G_PORT 15118 // V2G communication port - -// V2G Transfer Protocol patterns and definitions -#define V2G_PROTOCOL_VERSION 0x01 // Protocol Version -#define V2G_INV_PROTOCOL_VERSION 0xFE // Inverse Protocol Version -#define V2G_PAYLOAD_ISO_DIN_SAP 0x8001 // ISO 15118-2/DIN/SAP payload type -#define V2G_PAYLOAD_ISO2 0x8002 // ISO 15118-20 payload type -#define EXI_START_PATTERN 0x8098 // EXI document start pattern - -// Function declarations for Phase 2 Session & Service Management helper functions -void print_session_setup_req_details(struct iso1SessionSetupReqType *sessionSetupReq); -void print_session_setup_res_details(struct iso1SessionSetupResType *sessionSetupRes); -void print_service_discovery_req_details(struct iso1ServiceDiscoveryReqType *serviceDiscoveryReq); -void print_service_discovery_res_details(struct iso1ServiceDiscoveryResType *serviceDiscoveryRes); -void print_authorization_req_details(struct iso1AuthorizationReqType *authorizationReq); -void print_authorization_res_details(struct iso1AuthorizationResType *authorizationRes); -void print_charge_param_discovery_req_details(struct iso1ChargeParameterDiscoveryReqType *chargeParamReq); -void print_charge_param_discovery_res_details(struct iso1ChargeParameterDiscoveryResType *chargeParamRes); - -// Phase 3: Extended Features - Function declarations -void print_payment_service_selection_req_details(struct iso1PaymentServiceSelectionReqType *paymentServiceSelectionReq); -void print_payment_service_selection_res_details(struct iso1PaymentServiceSelectionResType *paymentServiceSelectionRes); -void print_charging_status_req_details(struct iso1ChargingStatusReqType *chargingStatusReq); -void print_charging_status_res_details(struct iso1ChargingStatusResType *chargingStatusRes); -void print_session_stop_req_details(struct iso1SessionStopReqType *sessionStopReq); -void print_session_stop_res_details(struct iso1SessionStopResType *sessionStopRes); - -// Function to detect and extract EXI body from V2G Transfer Protocol data -size_t extract_exi_body(uint8_t* input_data, size_t input_size, uint8_t* output_data, size_t output_size) { - if (input_size < 8) { - // Too small for V2G TP header, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - return 0; - } - - // Check for V2G Transfer Protocol header - if (input_data[0] == V2G_PROTOCOL_VERSION && input_data[1] == V2G_INV_PROTOCOL_VERSION) { - uint16_t payload_type = (input_data[2] << 8) | input_data[3]; - - if (payload_type == V2G_PAYLOAD_ISO_DIN_SAP || payload_type == V2G_PAYLOAD_ISO2) { - // Valid V2G TP header detected: skip 8-byte header - size_t exi_size = input_size - 8; - if (exi_size <= output_size) { - memcpy(output_data, input_data + 8, exi_size); - return exi_size; - } - return 0; - } - } - - // Look for EXI start pattern anywhere in the data - for (size_t i = 0; i <= input_size - 2; i++) { - uint16_t pattern = (input_data[i] << 8) | input_data[i + 1]; - if (pattern == EXI_START_PATTERN) { - // Found EXI start pattern - size_t exi_size = input_size - i; - if (exi_size <= output_size) { - memcpy(output_data, input_data + i, exi_size); - return exi_size; - } - return 0; - } - } - - // No pattern found, assume it's pure EXI - if (input_size <= output_size) { - memcpy(output_data, input_data, input_size); - return input_size; - } - - return 0; -} - -// Function to get payload type name -const char* get_payload_type_name(uint16_t payload_type) { - switch(payload_type) { - case V2G_PAYLOAD_ISO_DIN_SAP: return "ISO 15118-2/DIN/SAP"; - case V2G_PAYLOAD_ISO2: return "ISO 15118-20"; - default: return "Unknown"; - } -} - -// Function to analyze complete packet structure -void analyze_data_structure(uint8_t* data, size_t size) { - printf("=== Data Structure Analysis ===\n"); - printf("Total size: %zu bytes\n", size); - - size_t offset = 0; - - // Check for Ethernet header (at least 14 bytes) - if (size >= 14) { - uint16_t eth_type = (data[12] << 8) | data[13]; - if (eth_type == ETH_TYPE_IPV6) { - printf("Layer 2: Ethernet Frame\n"); - printf(" Destination MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[0], data[1], data[2], data[3], data[4], data[5]); - printf(" Source MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - data[6], data[7], data[8], data[9], data[10], data[11]); - printf(" EtherType: 0x%04x (IPv6)\n", eth_type); - offset = 14; - - // Check for IPv6 header (40 bytes) - if (size >= offset + 40) { - uint8_t version = (data[offset] >> 4) & 0x0F; - uint16_t payload_length = (data[offset + 4] << 8) | data[offset + 5]; - uint8_t next_header = data[offset + 6]; - uint8_t hop_limit = data[offset + 7]; - - if (version == 6) { - printf("Layer 3: IPv6 Header\n"); - printf(" Version: %d\n", version); - printf(" Payload Length: %u\n", payload_length); - printf(" Next Header: %u", next_header); - if (next_header == IPV6_NEXT_HEADER_TCP) { - printf(" (TCP)\n"); - } else { - printf("\n"); - } - printf(" Hop Limit: %u\n", hop_limit); - - // Show IPv6 addresses - printf(" Source Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 8 + i], data[offset + 8 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n Destination Address: "); - for (int i = 0; i < 16; i += 2) { - printf("%02x%02x", data[offset + 24 + i], data[offset + 24 + i + 1]); - if (i < 14) printf(":"); - } - printf("\n"); - - offset += 40; - - // Check for TCP header (at least 20 bytes) - if (next_header == IPV6_NEXT_HEADER_TCP && size >= offset + 20) { - uint16_t src_port = (data[offset] << 8) | data[offset + 1]; - uint16_t dst_port = (data[offset + 2] << 8) | data[offset + 3]; - uint32_t seq_num = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - uint8_t tcp_header_len = (data[offset + 12] >> 4) * 4; - - printf("Layer 4: TCP Header\n"); - printf(" Source Port: %u\n", src_port); - printf(" Destination Port: %u", dst_port); - if (dst_port == TCP_V2G_PORT || src_port == TCP_V2G_PORT) { - printf(" (V2G Communication)\n"); - } else { - printf("\n"); - } - printf(" Sequence Number: %u\n", seq_num); - printf(" TCP Header Length: %u bytes\n", tcp_header_len); - - offset += tcp_header_len; - } - } - } - } - } - - // Look for V2G Transfer Protocol starting from current offset - if (size >= offset + 8 && - data[offset] == V2G_PROTOCOL_VERSION && - data[offset + 1] == V2G_INV_PROTOCOL_VERSION) { - - printf("Layer 7: V2G Transfer Protocol\n"); - printf(" Protocol Version: 0x%02x\n", data[offset]); - printf(" Inverse Protocol Version: 0x%02x\n", data[offset + 1]); - - uint16_t payload_type = (data[offset + 2] << 8) | data[offset + 3]; - printf(" Payload Type: 0x%04x (%s)\n", payload_type, get_payload_type_name(payload_type)); - - uint32_t payload_length = (data[offset + 4] << 24) | (data[offset + 5] << 16) | - (data[offset + 6] << 8) | data[offset + 7]; - printf(" Payload Length: %u\n", payload_length); - printf("EXI body starts at offset: %zu\n", offset + 8); - - // Verify payload length - if (size >= offset + 8 && (size - offset - 8) == payload_length) { - printf("✓ Payload length matches actual data (%zu bytes)\n", size - offset - 8); - } else if (size >= offset + 8) { - printf("âš  Payload length mismatch: expected %u, got %zu bytes\n", - payload_length, size - offset - 8); - } - - offset += 8; - } - else if (offset == 0) { - // No network headers detected, check if it's direct V2G TP or EXI - if (size >= 4) { - uint32_t header = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; - printf("First 4 bytes: 0x%08X\n", header); - printf("Protocol: Unknown or Direct EXI\n"); - } - } - - // Look for EXI pattern - for (size_t i = 0; i <= size - 2; i++) { - uint16_t pattern = (data[i] << 8) | data[i + 1]; - if (pattern == EXI_START_PATTERN) { - printf("EXI start pattern (0x8098) found at offset: %zu\n", i); - if (i >= offset) { - printf("EXI payload size: %zu bytes\n", size - i); - } - break; - } - } - printf("\n"); -} - -// Helper function to convert char* string to exi_string_character_t* array -static int writeStringToEXIString(char* string, exi_string_character_t* exiString) { - int pos = 0; - while(string[pos] != '\0') { - exiString[pos] = string[pos]; - pos++; - } - return pos; -} - -char* trim_whitespace(char* str) { - char* end; - while(isspace((unsigned char)*str)) str++; - if(*str == 0) return str; - end = str + strlen(str) - 1; - while(end > str && isspace((unsigned char)*end)) end--; - end[1] = '\0'; - return str; -} - -// Helper function to find XML tag content within a bounded section (namespace-aware) -char* find_tag_in_section(const char* section_start, const char* section_end, const char* tag) { - static char result[1024]; - char ns_pattern[256]; - char* content_start = NULL; - char* tag_end = NULL; - - // First try namespace pattern (:tag>) - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_tag = section_start; - while ((ns_tag = strstr(ns_tag, ns_pattern)) != NULL && ns_tag < section_end) { - // Find the opening '<' - char* tag_begin = ns_tag; - while (tag_begin > section_start && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<' && tag_begin >= section_start) { - content_start = ns_tag + strlen(ns_pattern); - break; - } - ns_tag++; - } - - // If namespace version not found, try regular version - if (!content_start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* tag_start = strstr(section_start, start_tag); - if (tag_start && tag_start < section_end) { - content_start = tag_start + strlen(start_tag); - } - } - - if (!content_start || content_start >= section_end) { - return NULL; - } - - // Look for end tag (try both patterns) - char end_tag_pattern[256]; - snprintf(end_tag_pattern, sizeof(end_tag_pattern), "", tag); - tag_end = strstr(content_start, end_tag_pattern); - if (!tag_end || tag_end > section_end) { - // Try namespace end pattern - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - char* ns_end = content_start; - while ((ns_end = strstr(ns_end, ns_pattern)) != NULL && ns_end < section_end) { - char* end_begin = ns_end; - while (end_begin > content_start && *end_begin != '<') end_begin--; - if (end_begin > content_start && *end_begin == '<' && *(end_begin + 1) == '/') { - tag_end = end_begin; - break; - } - ns_end++; - } - } - - if (!tag_end || tag_end > section_end) { - return NULL; - } - - size_t len = tag_end - content_start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, content_start, len); - result[len] = '\0'; - - return trim_whitespace(result); -} - -// Helper function to find XML tag content (namespace-aware) -char* find_tag_content_ns(const char* xml, const char* tag) { - static char result[1024]; - char ns_pattern[256], end_pattern[256]; - - // Look for pattern ":tagname>" to handle namespaces - snprintf(ns_pattern, sizeof(ns_pattern), ":%s>", tag); - snprintf(end_pattern, sizeof(end_pattern), "", tag); - - // First try to find namespace version (:tag>) - char* ns_start = strstr(xml, ns_pattern); - char* start = NULL; - - if (ns_start) { - // Found namespaced tag, find the opening '<' - char* tag_begin = ns_start; - while (tag_begin > xml && *tag_begin != '<') tag_begin--; - if (*tag_begin == '<') { - start = ns_start + strlen(ns_pattern); - } - } - - // If namespace version not found, try regular version - if (!start) { - char start_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - char* regular_start = strstr(xml, start_tag); - if (regular_start) { - start = regular_start + strlen(start_tag); - } - } - - if (!start) return NULL; - - // Look for end tag (try both namespaced and regular) - char ns_end_pattern[256]; - snprintf(ns_end_pattern, sizeof(ns_end_pattern), "", tag); - - char* end = strstr(start, ns_end_pattern); - if (!end) { - // Try with different namespace prefix - snprintf(ns_end_pattern, sizeof(ns_end_pattern), ":%s>", tag); - char* ns_end = strstr(start, ns_end_pattern); - if (ns_end) { - char* end_tag_begin = ns_end; - while (end_tag_begin > start && *end_tag_begin != '<') end_tag_begin--; - if (*end_tag_begin == '<' && *(end_tag_begin + 1) == '/') { - end = ns_end + strlen(ns_end_pattern); - // Backtrack to find the actual end - end = end_tag_begin; - } - } - } - - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(result)) len = sizeof(result) - 1; - - strncpy(result, start, len); - result[len] = '\0'; - return trim_whitespace(result); -} - -// Helper function to find XML tag content -char* find_tag_content(const char* xml, const char* tag) { - // First try namespace-aware search - char* result = find_tag_content_ns(xml, tag); - if (result) return result; - - // Fallback to original method - static char fallback_result[1024]; - char start_tag[256], end_tag[256]; - snprintf(start_tag, sizeof(start_tag), "<%s>", tag); - snprintf(end_tag, sizeof(end_tag), "", tag); - - char* start = strstr(xml, start_tag); - if (!start) return NULL; - start += strlen(start_tag); - - char* end = strstr(start, end_tag); - if (!end) return NULL; - - size_t len = end - start; - if (len >= sizeof(fallback_result)) len = sizeof(fallback_result) - 1; - - strncpy(fallback_result, start, len); - fallback_result[len] = '\0'; - return trim_whitespace(fallback_result); -} - -int parse_session_id(const char* hex_str, uint8_t* bytes, size_t* len) { - size_t hex_len = strlen(hex_str); - if (hex_len % 2 != 0) return -1; - - *len = hex_len / 2; - for (size_t i = 0; i < *len; i++) { - unsigned int byte; - if (sscanf(&hex_str[i*2], "%2x", &byte) != 1) return -1; - bytes[i] = (uint8_t)byte; - } - return 0; -} - -// Parse PhysicalValue from section bounded XML -void parse_physical_value_from_section(const char* section_start, const char* section_end, struct iso1PhysicalValueType* pv) { - // Copy the found values to local variables to avoid static buffer overwriting - char mult_str[64] = {0}; - char unit_str[64] = {0}; - char value_str[64] = {0}; - - char* mult = find_tag_in_section(section_start, section_end, "Multiplier"); - if (mult) strncpy(mult_str, mult, sizeof(mult_str)-1); - - char* unit = find_tag_in_section(section_start, section_end, "Unit"); - if (unit) strncpy(unit_str, unit, sizeof(unit_str)-1); - - char* value = find_tag_in_section(section_start, section_end, "Value"); - if (value) strncpy(value_str, value, sizeof(value_str)-1); - - // Now parse the copied values - if (mult) pv->Multiplier = atoi(mult_str); - if (unit) pv->Unit = atoi(unit_str); - if (value) pv->Value = atoi(value_str); -} - -// Parse XML to ISO1 document for encoding -int parse_xml_to_iso1(const char* xml_content, struct iso1EXIDocument* doc) { - init_iso1EXIDocument(doc); - - // Find SessionID - char* session_id_str = find_tag_content(xml_content, "SessionID"); - if (session_id_str) { - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } else { - // Search directly for namespaced SessionID - char* ns_start = strstr(xml_content, ""); - if (ns_start) { - ns_start += strlen(""); - char* ns_end = strstr(ns_start, ""); - if (ns_end) { - size_t len_str = ns_end - ns_start; - static char session_id_temp[256]; - if (len_str < sizeof(session_id_temp)) { - strncpy(session_id_temp, ns_start, len_str); - session_id_temp[len_str] = '\0'; - session_id_str = trim_whitespace(session_id_temp); - size_t len; - if (parse_session_id(session_id_str, doc->V2G_Message.Header.SessionID.bytes, &len) == 0) { - doc->V2G_Message.Header.SessionID.bytesLen = len; - doc->V2G_Message_isUsed = 1; - } - } - } - } - } - - // Check for CurrentDemandReq - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandReqë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandReq_isUsed = 1; - - // Initialize CurrentDemandReq structure completely - init_iso1CurrentDemandReqType(&doc->V2G_Message.Body.CurrentDemandReq); - - // Set all optional fields to NOT USED by default - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 0; - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 0; - - // Parse DC_EVStatus - char* ev_ready = find_tag_content(xml_content, "EVReady"); - if (ev_ready) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady = (strcmp(ev_ready, "true") == 0); - } - - char* ev_error = find_tag_content(xml_content, "EVErrorCode"); - if (ev_error) { - if (strcmp(ev_error, "NO_ERROR") == 0) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 0; - } else { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = atoi(ev_error); - } - } - - char* ev_soc = find_tag_content(xml_content, "EVRESSSOC"); - if (ev_soc) { - doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC = atoi(ev_soc); - } - - // Parse EVTargetCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent); - } - } - - // Parse EVTargetVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage); - } - } - - // Parse ChargingComplete - char* charging_complete = find_tag_content(xml_content, "ChargingComplete"); - if (charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete = (strcmp(charging_complete, "true") == 0); - } - - // Parse optional fields if present - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1; - char* max_volt_section = strstr(xml_content, ""); - if (!max_volt_section) max_volt_section = strstr(xml_content, ""); - char* max_volt_end = strstr(max_volt_section, ""); - if (!max_volt_end) max_volt_end = strstr(max_volt_section, ""); - if (max_volt_section && max_volt_end) { - parse_physical_value_from_section(max_volt_section, max_volt_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1; - char* max_curr_section = strstr(xml_content, ""); - if (!max_curr_section) max_curr_section = strstr(xml_content, ""); - char* max_curr_end = strstr(max_curr_section, ""); - if (!max_curr_end) max_curr_end = strstr(max_curr_section, ""); - if (max_curr_section && max_curr_end) { - parse_physical_value_from_section(max_curr_section, max_curr_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1; - char* max_power_section = strstr(xml_content, ""); - if (!max_power_section) max_power_section = strstr(xml_content, ""); - char* max_power_end = strstr(max_power_section, ""); - if (!max_power_end) max_power_end = strstr(max_power_section, ""); - if (max_power_section && max_power_end) { - parse_physical_value_from_section(max_power_section, max_power_end, &doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit); - } - } - - // Parse BulkChargingComplete - char* bulk_charging_complete = find_tag_content(xml_content, "BulkChargingComplete"); - if (bulk_charging_complete) { - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 1; - doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete = (strcmp(bulk_charging_complete, "true") == 0); - } - - // Parse remaining time fields - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1; - char* time_section = strstr(xml_content, ""); - if (!time_section) time_section = strstr(xml_content, ""); - char* time_end = strstr(time_section, ""); - if (!time_end) time_end = strstr(time_section, ""); - if (time_section && time_end) { - parse_physical_value_from_section(time_section, time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC); - } - } - - if (strstr(xml_content, "") || strstr(xml_content, "")) { - doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1; - char* bulk_time_section = strstr(xml_content, ""); - if (!bulk_time_section) bulk_time_section = strstr(xml_content, ""); - char* bulk_time_end = strstr(bulk_time_section, ""); - if (!bulk_time_end) bulk_time_end = strstr(bulk_time_section, ""); - if (bulk_time_section && bulk_time_end) { - parse_physical_value_from_section(bulk_time_section, bulk_time_end, &doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC); - } - } - - return 0; - } - - // Check for CurrentDemandRes - if (strstr(xml_content, "") || strstr(xml_content, "")) { - // Body 구조체 초기화 (모든 메시지 타입 플래그를 0으로 설정) - init_iso1BodyType(&doc->V2G_Message.Body); - - // ì˜¤ì§ CurrentDemandResë§Œ 활성화 - doc->V2G_Message.Body.CurrentDemandRes_isUsed = 1; - init_iso1CurrentDemandResType(&doc->V2G_Message.Body.CurrentDemandRes); - - // Parse ResponseCode - char* response_code = find_tag_content(xml_content, "ResponseCode"); - if (response_code) { - doc->V2G_Message.Body.CurrentDemandRes.ResponseCode = atoi(response_code); - } - - // Parse DC_EVSEStatus - char* evse_isolation = find_tag_content_ns(xml_content, "EVSEIsolationStatus"); - if (evse_isolation) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus = atoi(evse_isolation); - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; - } - - char* evse_status = find_tag_content_ns(xml_content, "EVSEStatusCode"); - if (evse_status) { - doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = atoi(evse_status); - } - - // Parse EVSEPresentVoltage using bounded section approach - char* voltage_section = strstr(xml_content, ""); - if (!voltage_section) voltage_section = strstr(xml_content, ""); - if (voltage_section) { - char* voltage_end = strstr(voltage_section, ""); - if (!voltage_end) voltage_end = strstr(voltage_section, ""); - if (voltage_end) { - parse_physical_value_from_section(voltage_section, voltage_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage); - } - } - - // Parse EVSEPresentCurrent using bounded section approach - char* current_section = strstr(xml_content, ""); - if (!current_section) current_section = strstr(xml_content, ""); - if (current_section) { - char* current_end = strstr(current_section, ""); - if (!current_end) current_end = strstr(current_section, ""); - if (current_end) { - parse_physical_value_from_section(current_section, current_end, &doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent); - } - } - - // Parse limit achieved flags - char* current_limit = find_tag_content(xml_content, "EVSECurrentLimitAchieved"); - if (current_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved = (strcmp(current_limit, "true") == 0); - } - - char* voltage_limit = find_tag_content(xml_content, "EVSEVoltageLimitAchieved"); - if (voltage_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved = (strcmp(voltage_limit, "true") == 0); - } - - char* power_limit = find_tag_content(xml_content, "EVSEPowerLimitAchieved"); - if (power_limit) { - doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved = (strcmp(power_limit, "true") == 0); - } - - // Parse EVSEID - char* evseid = find_tag_content(xml_content, "EVSEID"); - if (evseid) { - size_t len = strlen(evseid); - if (len < sizeof(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters)) { - memcpy(doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters, evseid, len); - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen = len; - } - } - - // Parse SAScheduleTupleID - char* sa_schedule = find_tag_content(xml_content, "SAScheduleTupleID"); - if (sa_schedule) { - doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID = atoi(sa_schedule); - } - - return 0; - } - - return -1; // Unsupported message type -} - -// 구조체 ì „ì²´ ë‚´ìš©ì„ í…스트 파ì¼ë¡œ ë¤í”„하는 함수 -void dump_iso1_document_to_file(const struct iso1EXIDocument* doc, const char* filename) { - FILE* fp = fopen(filename, "w"); - if (!fp) { - printf("Error: Cannot create file %s\n", filename); - return; - } - - fprintf(fp, "=== ISO1 EXI Document Structure Dump ===\n\n"); - - // Document level - fprintf(fp, "V2G_Message_isUsed: %u\n", doc->V2G_Message_isUsed); - - if (doc->V2G_Message_isUsed) { - // Header - fprintf(fp, "\n--- Header ---\n"); - fprintf(fp, "SessionID.bytesLen: %u\n", doc->V2G_Message.Header.SessionID.bytesLen); - fprintf(fp, "SessionID.bytes: "); - for (int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - fprintf(fp, "%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - fprintf(fp, "\n"); - fprintf(fp, "Notification_isUsed: %u\n", doc->V2G_Message.Header.Notification_isUsed); - fprintf(fp, "Signature_isUsed: %u\n", doc->V2G_Message.Header.Signature_isUsed); - - // Body - All message type flags - fprintf(fp, "\n--- Body Message Type Flags ---\n"); - fprintf(fp, "AuthorizationReq_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationReq_isUsed); - fprintf(fp, "AuthorizationRes_isUsed: %u\n", doc->V2G_Message.Body.AuthorizationRes_isUsed); - fprintf(fp, "BodyElement_isUsed: %u\n", doc->V2G_Message.Body.BodyElement_isUsed); - fprintf(fp, "CableCheckReq_isUsed: %u\n", doc->V2G_Message.Body.CableCheckReq_isUsed); - fprintf(fp, "CableCheckRes_isUsed: %u\n", doc->V2G_Message.Body.CableCheckRes_isUsed); - fprintf(fp, "CertificateInstallationReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationReq_isUsed); - fprintf(fp, "CertificateInstallationRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateInstallationRes_isUsed); - fprintf(fp, "CertificateUpdateReq_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateReq_isUsed); - fprintf(fp, "CertificateUpdateRes_isUsed: %u\n", doc->V2G_Message.Body.CertificateUpdateRes_isUsed); - fprintf(fp, "ChargeParameterDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed); - fprintf(fp, "ChargeParameterDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed); - fprintf(fp, "ChargingStatusReq_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusReq_isUsed); - fprintf(fp, "ChargingStatusRes_isUsed: %u\n", doc->V2G_Message.Body.ChargingStatusRes_isUsed); - fprintf(fp, "CurrentDemandReq_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq_isUsed); - fprintf(fp, "CurrentDemandRes_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandRes_isUsed); - fprintf(fp, "MeteringReceiptReq_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptReq_isUsed); - fprintf(fp, "MeteringReceiptRes_isUsed: %u\n", doc->V2G_Message.Body.MeteringReceiptRes_isUsed); - fprintf(fp, "PaymentDetailsReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsReq_isUsed); - fprintf(fp, "PaymentDetailsRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentDetailsRes_isUsed); - fprintf(fp, "PaymentServiceSelectionReq_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionReq_isUsed); - fprintf(fp, "PaymentServiceSelectionRes_isUsed: %u\n", doc->V2G_Message.Body.PaymentServiceSelectionRes_isUsed); - fprintf(fp, "PowerDeliveryReq_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryReq_isUsed); - fprintf(fp, "PowerDeliveryRes_isUsed: %u\n", doc->V2G_Message.Body.PowerDeliveryRes_isUsed); - fprintf(fp, "PreChargeReq_isUsed: %u\n", doc->V2G_Message.Body.PreChargeReq_isUsed); - fprintf(fp, "PreChargeRes_isUsed: %u\n", doc->V2G_Message.Body.PreChargeRes_isUsed); - fprintf(fp, "ServiceDetailReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailReq_isUsed); - fprintf(fp, "ServiceDetailRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDetailRes_isUsed); - fprintf(fp, "ServiceDiscoveryReq_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryReq_isUsed); - fprintf(fp, "ServiceDiscoveryRes_isUsed: %u\n", doc->V2G_Message.Body.ServiceDiscoveryRes_isUsed); - fprintf(fp, "SessionSetupReq_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupReq_isUsed); - fprintf(fp, "SessionSetupRes_isUsed: %u\n", doc->V2G_Message.Body.SessionSetupRes_isUsed); - fprintf(fp, "SessionStopReq_isUsed: %u\n", doc->V2G_Message.Body.SessionStopReq_isUsed); - fprintf(fp, "SessionStopRes_isUsed: %u\n", doc->V2G_Message.Body.SessionStopRes_isUsed); - fprintf(fp, "WeldingDetectionReq_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionReq_isUsed); - fprintf(fp, "WeldingDetectionRes_isUsed: %u\n", doc->V2G_Message.Body.WeldingDetectionRes_isUsed); - - // CurrentDemandReq ìƒì„¸ ì •ë³´ - if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - fprintf(fp, "\n--- CurrentDemandReq Details ---\n"); - - // DC_EVStatus - fprintf(fp, "DC_EVStatus.EVReady: %u\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady); - fprintf(fp, "DC_EVStatus.EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - fprintf(fp, "DC_EVStatus.EVRESSSOC: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - // EVTargetCurrent - fprintf(fp, "EVTargetCurrent.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - fprintf(fp, "EVTargetCurrent.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - fprintf(fp, "EVTargetCurrent.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - // ì„ íƒì  필드들 - fprintf(fp, "EVMaximumVoltageLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - fprintf(fp, "EVMaximumVoltageLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - fprintf(fp, "EVMaximumVoltageLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - fprintf(fp, "EVMaximumVoltageLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - fprintf(fp, "EVMaximumCurrentLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - fprintf(fp, "EVMaximumCurrentLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - fprintf(fp, "EVMaximumCurrentLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - fprintf(fp, "EVMaximumCurrentLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - fprintf(fp, "EVMaximumPowerLimit_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - fprintf(fp, "EVMaximumPowerLimit.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - fprintf(fp, "EVMaximumPowerLimit.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - fprintf(fp, "EVMaximumPowerLimit.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - fprintf(fp, "BulkChargingComplete_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - fprintf(fp, "BulkChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete); - } - - // ChargingComplete (필수 필드) - fprintf(fp, "ChargingComplete: %u\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete); - - fprintf(fp, "RemainingTimeToFullSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - fprintf(fp, "RemainingTimeToFullSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - fprintf(fp, "RemainingTimeToFullSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - fprintf(fp, "RemainingTimeToFullSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - fprintf(fp, "RemainingTimeToBulkSoC_isUsed: %u\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed); - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - fprintf(fp, "RemainingTimeToBulkSoC.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - fprintf(fp, "RemainingTimeToBulkSoC.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - fprintf(fp, "RemainingTimeToBulkSoC.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - - // EVTargetVoltage (필수 필드) - fprintf(fp, "EVTargetVoltage.Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - fprintf(fp, "EVTargetVoltage.Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - fprintf(fp, "EVTargetVoltage.Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - } - } - - fclose(fp); - printf("✓ Structure dump saved to %s\n", filename); -} - -// Helper function to read EXI file -int readEXIFile(char* file, uint8_t* buffer, size_t buffer_size, size_t *bytes_read) { - FILE *fp = fopen(file, "rb"); - if (fp == NULL) { - return -1; - } - - *bytes_read = fread(buffer, 1, buffer_size, fp); - fclose(fp); - - if (*bytes_read == 0) { - return -1; - } - - return 0; -} - -// Helper functions for Wireshark XML output removed - using numeric values directly - -void print_xml_header_wireshark() { - printf("\n"); - printf("\n"); -} - -void print_xml_footer_wireshark() { - printf(""); -} - -void print_iso1_xml_wireshark(struct iso1EXIDocument* doc) { - print_xml_header_wireshark(); - - printf(""); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(""); - - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - printf(""); - - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf("%s", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - printf("%.*s", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("%d", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - printf(""); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf(""); - printf(""); - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf(""); - - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf(""); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("%s", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - printf(""); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - printf(""); - } - - // EVTargetVoltage must come last according to EXI grammar - printf(""); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf("%d", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - printf(""); - - printf(""); - } - - printf(""); - print_xml_footer_wireshark(); -} - -void print_iso1_message(struct iso1EXIDocument* doc) { - printf("=== ISO 15118-2 V2G Message Analysis ===\n"); - printf("Message Type: ISO1 (2013)\n"); - printf("V2G_Message_isUsed: %s\n", doc->V2G_Message_isUsed ? "true" : "false"); - - if (doc->V2G_Message_isUsed) { - printf("\n--- Header ---\n"); - printf("SessionID: "); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - printf("%02X", doc->V2G_Message.Header.SessionID.bytes[i]); - } - printf(" ("); - for(int i = 0; i < doc->V2G_Message.Header.SessionID.bytesLen; i++) { - if (doc->V2G_Message.Header.SessionID.bytes[i] >= 32 && doc->V2G_Message.Header.SessionID.bytes[i] <= 126) { - printf("%c", doc->V2G_Message.Header.SessionID.bytes[i]); - } else { - printf("."); - } - } - printf(")\n"); - - printf("\n--- Body ---\n"); - - if (doc->V2G_Message.Body.CurrentDemandRes_isUsed) { - printf("Message Type: CurrentDemandRes\n"); - printf("ResponseCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.ResponseCode); - - printf("\nDC_EVSEStatus:\n"); - printf(" EVSEIsolationStatus: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus); - printf(" EVSEStatusCode: %d\n", doc->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode); - - printf("\nEVSEPresentVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - - printf("\nEVSEPresentCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - - printf("\nLimit Status:\n"); - printf(" CurrentLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved ? "true" : "false"); - printf(" VoltageLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved ? "true" : "false"); - printf(" PowerLimitAchieved: %s\n", doc->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved ? "true" : "false"); - - printf("\nEVSEID: %.*s\n", - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen, - doc->V2G_Message.Body.CurrentDemandRes.EVSEID.characters); - printf("SAScheduleTupleID: %d\n", doc->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID); - } - else if (doc->V2G_Message.Body.SessionSetupReq_isUsed) { - printf("🔠SessionSetupReq: Charging session initialization\n"); - print_session_setup_req_details(&doc->V2G_Message.Body.SessionSetupReq); - } - else if (doc->V2G_Message.Body.SessionSetupRes_isUsed) { - printf("✅ SessionSetupRes: Session setup response\n"); - print_session_setup_res_details(&doc->V2G_Message.Body.SessionSetupRes); - } - else if (doc->V2G_Message.Body.ServiceDiscoveryReq_isUsed) { - printf("🔠ServiceDiscoveryReq: Available charging services discovery\n"); - print_service_discovery_req_details(&doc->V2G_Message.Body.ServiceDiscoveryReq); - } - else if (doc->V2G_Message.Body.ServiceDiscoveryRes_isUsed) { - printf("✅ ServiceDiscoveryRes: Service discovery response\n"); - print_service_discovery_res_details(&doc->V2G_Message.Body.ServiceDiscoveryRes); - } - else if (doc->V2G_Message.Body.AuthorizationReq_isUsed) { - printf("🔑 AuthorizationReq: Charging authorization verification\n"); - print_authorization_req_details(&doc->V2G_Message.Body.AuthorizationReq); - } - else if (doc->V2G_Message.Body.AuthorizationRes_isUsed) { - printf("✅ AuthorizationRes: Authorization response\n"); - print_authorization_res_details(&doc->V2G_Message.Body.AuthorizationRes); - } - else if (doc->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed) { - printf("âš™ï¸ ChargeParameterDiscoveryReq: Charging parameter exchange\n"); - print_charge_param_discovery_req_details(&doc->V2G_Message.Body.ChargeParameterDiscoveryReq); - } - else if (doc->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed) { - printf("✅ ChargeParameterDiscoveryRes: Charge parameter response\n"); - print_charge_param_discovery_res_details(&doc->V2G_Message.Body.ChargeParameterDiscoveryRes); - } - // Phase 3: Extended Features - Message detection - else if (doc->V2G_Message.Body.PaymentServiceSelectionReq_isUsed) { - printf("💳 PaymentServiceSelectionReq: Payment method selection request\n"); - print_payment_service_selection_req_details(&doc->V2G_Message.Body.PaymentServiceSelectionReq); - } - else if (doc->V2G_Message.Body.PaymentServiceSelectionRes_isUsed) { - printf("💳 PaymentServiceSelectionRes: Payment method selection response\n"); - print_payment_service_selection_res_details(&doc->V2G_Message.Body.PaymentServiceSelectionRes); - } - else if (doc->V2G_Message.Body.ChargingStatusReq_isUsed) { - printf("🔋 ChargingStatusReq: AC charging status request\n"); - print_charging_status_req_details(&doc->V2G_Message.Body.ChargingStatusReq); - } - else if (doc->V2G_Message.Body.ChargingStatusRes_isUsed) { - printf("🔋 ChargingStatusRes: AC charging status response\n"); - print_charging_status_res_details(&doc->V2G_Message.Body.ChargingStatusRes); - } - else if (doc->V2G_Message.Body.SessionStopReq_isUsed) { - printf("🛑 SessionStopReq: Session termination request\n"); - print_session_stop_req_details(&doc->V2G_Message.Body.SessionStopReq); - } - else if (doc->V2G_Message.Body.SessionStopRes_isUsed) { - printf("🛑 SessionStopRes: Session termination response\n"); - print_session_stop_res_details(&doc->V2G_Message.Body.SessionStopRes); - } - else if (doc->V2G_Message.Body.CurrentDemandReq_isUsed) { - printf("Message Type: CurrentDemandReq\n"); - - printf("\nDC_EVStatus:\n"); - printf(" EVReady: %s\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - printf(" EVErrorCode: %d\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - printf(" EVRESSSOC: %d%%\n", doc->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - - printf("\nEVTargetCurrent:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - - printf("\nEVTargetVoltage:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed) { - printf("\nEVMaximumVoltageLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed) { - printf("\nEVMaximumCurrentLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed) { - printf("\nEVMaximumPowerLimit:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed) { - printf("\nBulkChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete ? "true" : "false"); - } - - printf("ChargingComplete: %s\n", doc->V2G_Message.Body.CurrentDemandReq.ChargingComplete ? "true" : "false"); - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed) { - printf("\nRemainingTimeToFullSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - } - - if (doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed) { - printf("\nRemainingTimeToBulkSoC:\n"); - printf(" Multiplier: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier); - printf(" Unit: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit); - printf(" Value: %d\n", doc->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - } - } - else { - printf("Message Type: Other message type (not fully supported)\n"); - } - } - printf("\n"); -} - -// Helper function to parse and print session setup request details -void print_session_setup_req_details(struct iso1SessionSetupReqType *sessionSetupReq) { - printf(" 🆔 EVCCID: "); - for(int i = 0; i < sessionSetupReq->EVCCID.bytesLen; i++) { - printf("%02X", sessionSetupReq->EVCCID.bytes[i]); - } - printf("\n"); -} - -// Helper function to parse and print session setup response details -void print_session_setup_res_details(struct iso1SessionSetupResType *sessionSetupRes) { - printf(" 📋 Response Code: %d\n", sessionSetupRes->ResponseCode); - printf(" 🆔 EVSEID: %.*s\n", - sessionSetupRes->EVSEID.charactersLen, - sessionSetupRes->EVSEID.characters); - - if(sessionSetupRes->EVSETimeStamp_isUsed) { - printf(" â° EVSETimeStamp: %ld\n", sessionSetupRes->EVSETimeStamp); - } -} - -// Helper function to parse and print service discovery request details -void print_service_discovery_req_details(struct iso1ServiceDiscoveryReqType *serviceDiscoveryReq) { - if(serviceDiscoveryReq->ServiceScope_isUsed) { - printf(" 🔠ServiceScope: %.*s\n", - serviceDiscoveryReq->ServiceScope.charactersLen, - serviceDiscoveryReq->ServiceScope.characters); - } - - if(serviceDiscoveryReq->ServiceCategory_isUsed) { - printf(" 📂 ServiceCategory: %d\n", serviceDiscoveryReq->ServiceCategory); - } -} - -// Helper function to parse and print service discovery response details -void print_service_discovery_res_details(struct iso1ServiceDiscoveryResType *serviceDiscoveryRes) { - printf(" 📋 Response Code: %d\n", serviceDiscoveryRes->ResponseCode); - printf(" âš¡ PaymentOptionList:\n"); - for(int i = 0; i < serviceDiscoveryRes->PaymentOptionList.PaymentOption.arrayLen; i++) { - printf(" Payment Option %d: %d\n", i+1, serviceDiscoveryRes->PaymentOptionList.PaymentOption.array[i]); - } - - printf(" 🔧 ChargeService:\n"); - printf(" ServiceID: %d\n", serviceDiscoveryRes->ChargeService.ServiceID); - printf(" ServiceName: %.*s\n", - serviceDiscoveryRes->ChargeService.ServiceName_isUsed ? serviceDiscoveryRes->ChargeService.ServiceName.charactersLen : 0, - serviceDiscoveryRes->ChargeService.ServiceName_isUsed ? serviceDiscoveryRes->ChargeService.ServiceName.characters : ""); - printf(" ServiceCategory: %d\n", serviceDiscoveryRes->ChargeService.ServiceCategory); - printf(" FreeService: %s\n", serviceDiscoveryRes->ChargeService.FreeService ? "true" : "false"); - - if(serviceDiscoveryRes->ServiceList_isUsed && serviceDiscoveryRes->ServiceList.Service.arrayLen > 0) { - printf(" 📋 ServiceList:\n"); - for(int i = 0; i < serviceDiscoveryRes->ServiceList.Service.arrayLen; i++) { - printf(" Service %d - ID: %d, Category: %d\n", - i+1, - serviceDiscoveryRes->ServiceList.Service.array[i].ServiceID, - serviceDiscoveryRes->ServiceList.Service.array[i].ServiceCategory); - } - } -} - -// Helper function to parse and print authorization request details -void print_authorization_req_details(struct iso1AuthorizationReqType *authorizationReq) { - if(authorizationReq->Id_isUsed) { - printf(" 🆔 ID: %.*s\n", - authorizationReq->Id.charactersLen, - authorizationReq->Id.characters); - } - - if(authorizationReq->GenChallenge_isUsed) { - printf(" 🎲 GenChallenge: "); - for(int i = 0; i < authorizationReq->GenChallenge.bytesLen; i++) { - printf("%02X", authorizationReq->GenChallenge.bytes[i]); - } - printf("\n"); - } -} - -// Helper function to parse and print authorization response details -void print_authorization_res_details(struct iso1AuthorizationResType *authorizationRes) { - printf(" 📋 Response Code: %d\n", authorizationRes->ResponseCode); - printf(" âš¡ EVSEProcessing: %d\n", authorizationRes->EVSEProcessing); -} - -// Helper function to parse and print charge parameter discovery request details -void print_charge_param_discovery_req_details(struct iso1ChargeParameterDiscoveryReqType *chargeParamReq) { - if(chargeParamReq->MaxEntriesSAScheduleTuple_isUsed) { - printf(" 📊 MaxEntriesSAScheduleTuple: %d\n", chargeParamReq->MaxEntriesSAScheduleTuple); - } - - printf(" 🔌 RequestedEnergyTransferMode: %d\n", chargeParamReq->RequestedEnergyTransferMode); - - if(chargeParamReq->DC_EVChargeParameter_isUsed) { - printf(" âš¡ DC_EVChargeParameter:\n"); - printf(" 📋 DC_EVStatus:\n"); - printf(" 🔋 EVReady: %s\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVReady ? "true" : "false"); - printf(" âš¡ EVErrorCode: %d\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVErrorCode); - printf(" 🔌 EVRESSSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.DC_EVStatus.EVRESSSOC); - - printf(" 🔋 EVMaximumCurrentLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumCurrentLimit.Value); - - printf(" âš¡ EVMaximumVoltageLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumVoltageLimit.Value); - - if(chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit_isUsed) { - printf(" 🔌 EVMaximumPowerLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVMaximumPowerLimit.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity_isUsed) { - printf(" 🔋 EVEnergyCapacity:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Unit); - printf(" 💯 Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyCapacity.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.EVEnergyRequest_isUsed) { - printf(" âš¡ EVEnergyRequest:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Unit); - printf(" 💯 Value: %d\n", chargeParamReq->DC_EVChargeParameter.EVEnergyRequest.Value); - } - - if(chargeParamReq->DC_EVChargeParameter.FullSOC_isUsed) { - printf(" 🔋 FullSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.FullSOC); - } - - if(chargeParamReq->DC_EVChargeParameter.BulkSOC_isUsed) { - printf(" 📊 BulkSOC: %d%%\n", chargeParamReq->DC_EVChargeParameter.BulkSOC); - } - } -} - -// Helper function to parse and print charge parameter discovery response details -void print_charge_param_discovery_res_details(struct iso1ChargeParameterDiscoveryResType *chargeParamRes) { - printf(" 📋 Response Code: %d\n", chargeParamRes->ResponseCode); - printf(" âš¡ EVSEProcessing: %d\n", chargeParamRes->EVSEProcessing); - - if(chargeParamRes->SAScheduleList_isUsed) { - printf(" 📅 SASchedules:\n"); - printf(" Schedule Entries: %d\n", chargeParamRes->SAScheduleList.SAScheduleTuple.arrayLen); - - for(int i = 0; i < chargeParamRes->SAScheduleList.SAScheduleTuple.arrayLen; i++) { - printf(" Schedule %d:\n", i+1); - printf(" SAScheduleTupleID: %d\n", chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].SAScheduleTupleID); - - if(chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.arrayLen > 0) { - printf(" PMaxScheduleEntries: %d\n", - chargeParamRes->SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.arrayLen); - } - } - } - - if(chargeParamRes->DC_EVSEChargeParameter_isUsed) { - printf(" 🔌 DC_EVSEChargeParameter:\n"); - printf(" 📊 DC_EVSEStatus:\n"); - printf(" 🔌 EVSEIsolationStatus: %d\n", chargeParamRes->DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus); - printf(" âš¡ EVSEStatusCode: %d\n", chargeParamRes->DC_EVSEChargeParameter.DC_EVSEStatus.EVSEStatusCode); - - printf(" âš¡ EVSEMaximumCurrentLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Value); - - printf(" 🔋 EVSEMaximumVoltageLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value); - - printf(" 🔌 EVSEMaximumPowerLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value); - - printf(" âš¡ EVSEMinimumCurrentLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value); - - printf(" 🔋 EVSEMinimumVoltageLimit:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value); - - if(chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance_isUsed) { - printf(" 📊 EVSECurrentRegulationTolerance:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value); - } - - printf(" âš¡ EVSEPeakCurrentRipple:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value); - - if(chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered_isUsed) { - printf(" 🔋 EVSEEnergyToBeDelivered:\n"); - printf(" 📊 Multiplier: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Multiplier); - printf(" 🔢 Unit: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Unit); - printf(" 💯 Value: %d\n", chargeParamRes->DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value); - } - } -} - -int main(int argc, char *argv[]) { - int xml_mode = 0; - int encode_mode = 0; - char *filename = NULL; - - if (argc == 2) { - filename = argv[1]; - } else if (argc == 3 && strcmp(argv[1], "-decode") == 0) { - xml_mode = 1; - filename = argv[2]; - } else if (argc == 3 && strcmp(argv[1], "-encode") == 0) { - encode_mode = 1; - filename = argv[2]; - } else { - printf("Usage: %s [-decode|-encode] input_file\\n", argv[0]); - printf("Enhanced EXI viewer with XML conversion capabilities\\n"); - printf(" -decode Convert EXI to Wireshark-style XML format\\n"); - printf(" -encode Convert XML to EXI format\\n"); - printf(" (default) Analyze EXI with detailed output\\n"); - return -1; - } - - uint8_t buffer[BUFFER_SIZE]; - bitstream_t stream; - size_t pos = 0; - int errn = 0; - - struct iso1EXIDocument iso1Doc; - struct iso2EXIDocument iso2Doc; - struct dinEXIDocument dinDoc; - - // Initialize documents - init_iso1EXIDocument(&iso1Doc); - init_iso2EXIDocument(&iso2Doc); - init_dinEXIDocument(&dinDoc); - - // Handle encode mode (XML to EXI) - if (encode_mode) { - // Read XML file - FILE* xml_file = fopen(filename, "r"); - if (!xml_file) { - printf("Error opening XML file: %s\\n", filename); - return -1; - } - - // Read entire XML content - fseek(xml_file, 0, SEEK_END); - long xml_size = ftell(xml_file); - fseek(xml_file, 0, SEEK_SET); - - char* xml_content = malloc(xml_size + 1); - if (!xml_content) { - printf("Error allocating memory for XML content\\n"); - fclose(xml_file); - return -1; - } - - fread(xml_content, 1, xml_size, xml_file); - xml_content[xml_size] = '\0'; - fclose(xml_file); - - // Parse XML to ISO1 document structure - if (parse_xml_to_iso1(xml_content, &iso1Doc) != 0) { - printf("Error parsing XML file - no supported message type found\\n"); - free(xml_content); - return -1; - } - - // XML parsing debug info to stderr (optional) - // fprintf(stderr, "=== XML Parsing Debug ===\\n"); - // fprintf(stderr, "V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false"); - // fprintf(stderr, "SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen); - // fprintf(stderr, "CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false"); - - // Debug output disabled for clean hex-only output - /* - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - fprintf(stderr, "EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - fprintf(stderr, "EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - fprintf(stderr, "EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - fprintf(stderr, "EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - fprintf(stderr, "EVTargetVoltage: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - } - */ - - free(xml_content); - - // Encode to EXI - pos = 0; - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // 구조체 ë¤í”„ (디버그용, 필요시 활성화) - // dump_iso1_document_to_file(&iso1Doc, "struct_xml.txt"); - - errn = encode_iso1ExiDocument(&stream, &iso1Doc); - - if (errn != 0) { - fprintf(stderr, "Error encoding to EXI (error: %d)\\n", errn); - return -1; - } - - // Check if output is redirected - struct stat stat_buf; - int is_redirected = (fstat(fileno(stdout), &stat_buf) == 0 && S_ISREG(stat_buf.st_mode)); - - if (is_redirected) { - // Redirected output: write binary data - fwrite(buffer, 1, pos, stdout); - } else { - // Terminal output: show hex string only (like XML decode mode) - for(size_t i = 0; i < pos; i++) { - printf("%02X", buffer[i]); - } - printf("\n"); - } - return 0; - } - - // Read EXI file for decode/analysis mode - errn = readEXIFile(filename, buffer, BUFFER_SIZE, &pos); - if (errn != 0) { - printf("Error reading file: %s\\n", filename); - return -1; - } - - if (!xml_mode) { - printf("File: %s (%zu bytes)\\n", filename, pos); - printf("Raw hex data: "); - for(size_t i = 0; i < (pos > 32 ? 32 : pos); i++) { - printf("%02X ", buffer[i]); - } - if (pos > 32) printf("..."); - printf("\\n\\n"); - - // Analyze data structure and extract EXI body - analyze_data_structure(buffer, pos); - } - - // Extract EXI body from V2G Transfer Protocol data - uint8_t exi_buffer[BUFFER_SIZE]; - size_t exi_size = extract_exi_body(buffer, pos, exi_buffer, BUFFER_SIZE); - - if (exi_size != pos) { - if (!xml_mode) { - printf("EXI body extracted: %zu bytes (was %zu bytes)\\n", exi_size, pos); - printf("EXI hex data: "); - for(size_t i = 0; i < (exi_size > 32 ? 32 : exi_size); i++) { - printf("%02X ", exi_buffer[i]); - } - if (exi_size > 32) printf("..."); - printf("\\n\\n"); - } - // Use extracted EXI data - memcpy(buffer, exi_buffer, exi_size); - pos = exi_size; - } - - // Setup stream - pos = 0; // reset position for decoding - stream.size = BUFFER_SIZE; - stream.data = buffer; - stream.pos = &pos; - stream.buffer = 0; - stream.capacity = 0; - - // Try ISO1 first - pos = 0; - if (!xml_mode) printf("Trying ISO1 decoder...\\n"); - errn = decode_iso1ExiDocument(&stream, &iso1Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO1\\n\\n"); - if (xml_mode) { - print_iso1_xml_wireshark(&iso1Doc); - } else { - print_iso1_message(&iso1Doc); - - // Compare with expected structure - printf("\\n=== Original EXI Structure Debug ===\\n"); - printf("V2G_Message_isUsed: %s\\n", iso1Doc.V2G_Message_isUsed ? "true" : "false"); - printf("SessionID length: %d\\n", iso1Doc.V2G_Message.Header.SessionID.bytesLen); - printf("CurrentDemandReq_isUsed: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed ? "true" : "false"); - - if (iso1Doc.V2G_Message.Body.CurrentDemandReq_isUsed) { - printf("EVReady: %s\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady ? "true" : "false"); - printf("EVErrorCode: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - printf("EVRESSSOC: %d\\n", iso1Doc.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf("EVTargetCurrent: M=%d, U=%d, V=%d\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Multiplier, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Unit, - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf("EVMaximumVoltageLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed ? "true" : "false"); - printf("EVMaximumCurrentLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed ? "true" : "false"); - printf("EVMaximumPowerLimit_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed ? "true" : "false"); - printf("BulkChargingComplete_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed ? "true" : "false"); - printf("RemainingTimeToFullSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed ? "true" : "false"); - printf("RemainingTimeToBulkSoC_isUsed: %s\\n", - iso1Doc.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed ? "true" : "false"); - } - } - - // ì›ë³¸ EXI 디코딩 후 구조체 ë¤í”„ (ë¶„ì„ ëª¨ë“œì¼ ë•Œë§Œ) - if (!xml_mode) { - dump_iso1_document_to_file(&iso1Doc, "struct_exi.txt"); - } - - return 0; - } else { - if (!xml_mode) printf("✗ ISO1 decode failed (error: %d)\\n", errn); - } - - // Try ISO2 - pos = 0; - if (!xml_mode) printf("Trying ISO2 decoder...\\n"); - errn = decode_iso2ExiDocument(&stream, &iso2Doc); - if (errn == 0) { - if (!xml_mode) printf("✓ Successfully decoded as ISO2\\n\\n"); - if (xml_mode) { - printf("ISO2 XML output not implemented for Wireshark format\\n"); - } else { - printf("ISO2 analysis not fully implemented\\n"); - } - return 0; - } else { - if (!xml_mode) printf("✗ ISO2 decode failed (error: %d)\\n", errn); - } - - // Try DIN - pos = 0; - if (!xml_mode) printf("Trying DIN decoder...\\n"); - errn = decode_dinExiDocument(&stream, &dinDoc); - if (errn == 0) { - if (!xml_mode) { - printf("✓ Successfully decoded as DIN\\n\\n"); - printf("=== DIN V2G Message ===\\n"); - // Add DIN message printing as needed - } - return 0; - } else { - if (!xml_mode) printf("✗ DIN decode failed (error: %d)\\n", errn); - } - - if (!xml_mode) { - printf("\\n⌠Could not decode EXI file with any supported codec\\n"); - printf("Supported formats: ISO1, ISO2, DIN\\n"); - } - - return -1; -} - -// Phase 3: Extended Features - Helper function implementations - -void print_payment_service_selection_req_details(struct iso1PaymentServiceSelectionReqType *paymentServiceSelectionReq) { - printf(" 📄 Payment Service Selection Request Details:\\n"); - printf(" 💳 Purpose: Select payment method for charging session\\n"); - - printf(" 🆔 Selected Payment Option: "); - switch(paymentServiceSelectionReq->SelectedPaymentOption) { - case iso1paymentOptionType_Contract: - printf("Contract-based payment\\n"); - break; - case iso1paymentOptionType_ExternalPayment: - printf("External payment method\\n"); - break; - default: - printf("Unknown (%d)\\n", paymentServiceSelectionReq->SelectedPaymentOption); - } - - printf(" 📋 Selected Service List:\\n"); - if (paymentServiceSelectionReq->SelectedServiceList.SelectedService.arrayLen > 0) { - for (int i = 0; i < paymentServiceSelectionReq->SelectedServiceList.SelectedService.arrayLen; i++) { - printf(" %d. Service ID: %d, Parameter Set ID: %d\\n", - i + 1, - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ServiceID, - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed ? - paymentServiceSelectionReq->SelectedServiceList.SelectedService.array[i].ParameterSetID : -1); - } - } else { - printf(" No services selected\\n"); - } - - printf(" ✅ Payment service selection requested\\n"); -} - -void print_payment_service_selection_res_details(struct iso1PaymentServiceSelectionResType *paymentServiceSelectionRes) { - printf(" 📄 Payment Service Selection Response Details:\\n"); - printf(" 💳 Purpose: Confirm payment method selection\\n"); - - printf(" 📊 Response Code: "); - switch(paymentServiceSelectionRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("✅ OK - Payment selection accepted\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("✅ OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("⌠FAILED\\n"); - break; - default: - printf("âš ï¸ Unknown (%d)\\n", paymentServiceSelectionRes->ResponseCode); - } - - printf(" 🔄 Payment method selection completed\\n"); -} - -void print_charging_status_req_details(struct iso1ChargingStatusReqType *chargingStatusReq) { - printf(" 📄 Charging Status Request Details:\\n"); - printf(" 🔋 Purpose: Request AC charging status information\\n"); - - printf(" 🔠Requesting current charging status from EVSE\\n"); - printf(" 📊 Status inquiry for AC charging session\\n"); -} - -void print_charging_status_res_details(struct iso1ChargingStatusResType *chargingStatusRes) { - printf(" 📄 Charging Status Response Details:\\n"); - printf(" 🔋 Purpose: Provide AC charging status information\\n"); - - printf(" 📊 Response Code: "); - switch(chargingStatusRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("✅ OK\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("✅ OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("⌠FAILED\\n"); - break; - default: - printf("âš ï¸ Unknown (%d)\\n", chargingStatusRes->ResponseCode); - } - - printf(" 🆔 EVSE ID: "); - if (chargingStatusRes->EVSEID.charactersLen > 0) { - printf("%.*s\\n", (int)chargingStatusRes->EVSEID.charactersLen, chargingStatusRes->EVSEID.characters); - } else { - printf("Not provided\\n"); - } - - printf(" 🔌 SA Schedule Tuple ID: %d\\n", chargingStatusRes->SAScheduleTupleID); - - if (chargingStatusRes->EVSEMaxCurrent_isUsed) { - printf(" âš¡ EVSE Max Current: %d %s (10^%d)\\n", - chargingStatusRes->EVSEMaxCurrent.Value, - chargingStatusRes->EVSEMaxCurrent.Unit == 5 ? "A" : "Unknown Unit", - chargingStatusRes->EVSEMaxCurrent.Multiplier); - } - - if (chargingStatusRes->MeterInfo_isUsed) { - printf(" 📊 Meter Information:\\n"); - printf(" 🆔 Meter ID: "); - if (chargingStatusRes->MeterInfo.MeterID.charactersLen > 0) { - printf("%.*s\\n", (int)chargingStatusRes->MeterInfo.MeterID.charactersLen, - chargingStatusRes->MeterInfo.MeterID.characters); - } else { - printf("Not provided\\n"); - } - - if (chargingStatusRes->MeterInfo.MeterReading_isUsed) { - printf(" 📠Meter Reading: %llu Wh\\n", - (unsigned long long)chargingStatusRes->MeterInfo.MeterReading); - } - - if (chargingStatusRes->MeterInfo.SigMeterReading_isUsed) { - printf(" 🔠Signed Meter Reading: %.*s\\n", - (int)chargingStatusRes->MeterInfo.SigMeterReading.bytesLen, - (char*)chargingStatusRes->MeterInfo.SigMeterReading.bytes); - } - - if (chargingStatusRes->MeterInfo.MeterStatus_isUsed) { - printf(" 📊 Meter Status: %d\\n", chargingStatusRes->MeterInfo.MeterStatus); - } - } - - if (chargingStatusRes->ReceiptRequired_isUsed) { - printf(" 🧾 Receipt Required: %s\\n", - chargingStatusRes->ReceiptRequired ? "Yes" : "No"); - } - - printf(" ✅ AC charging status provided\\n"); -} - -void print_session_stop_req_details(struct iso1SessionStopReqType *sessionStopReq) { - printf(" 📄 Session Stop Request Details:\\n"); - printf(" 🛑 Purpose: Request charging session termination\\n"); - - printf(" 🔄 Charging Session: "); - switch(sessionStopReq->ChargingSession) { - case iso1chargingSessionType_Terminate: - printf("✅ Terminate - Session ending completely\\n"); - break; - case iso1chargingSessionType_Pause: - printf("â¸ï¸ Pause - Session paused temporarily\\n"); - break; - default: - printf("âš ï¸ Unknown (%d)\\n", sessionStopReq->ChargingSession); - } - - printf(" 🛑 Requesting session termination\\n"); -} - -void print_session_stop_res_details(struct iso1SessionStopResType *sessionStopRes) { - printf(" 📄 Session Stop Response Details:\\n"); - printf(" 🛑 Purpose: Confirm charging session termination\\n"); - - printf(" 📊 Response Code: "); - switch(sessionStopRes->ResponseCode) { - case iso1responseCodeType_OK: - printf("✅ OK - Session terminated successfully\\n"); - break; - case iso1responseCodeType_OK_NewSessionEstablished: - printf("✅ OK - New session established\\n"); - break; - case iso1responseCodeType_FAILED: - printf("⌠FAILED - Session termination failed\\n"); - break; - default: - printf("âš ï¸ Unknown (%d)\\n", sessionStopRes->ResponseCode); - } - - printf(" 🔚 Charging session terminated\\n"); -} \ No newline at end of file diff --git a/V2GDecoder.exe b/V2GDecoder.exe deleted file mode 100644 index 2d0589a6e4731aaf0009719f486e7c00796d9f3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2291612 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 z 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 lQ85sL7ib{7 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�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

#kT+RF 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 z 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 - - - 0000000000000000 - - - - 01 - - - \ No newline at end of file diff --git a/data/sessionSetupReq.xml.exi b/data/sessionSetupReq.xml.exi deleted file mode 100644 index 6704295c6c1f3ec93c9588de445c34c1d668cb02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 RcmZp;#>4;xoD-Os7yuV70rmg@ diff --git a/data/sessionSetupRes.xml b/data/sessionSetupRes.xml deleted file mode 100644 index b17a331..0000000 --- a/data/sessionSetupRes.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - 0000000000000010 - - - - OK - 1234567 - 123456789 - - - diff --git a/data/sessionSetupRes.xml.exi b/data/sessionSetupRes.xml.exi deleted file mode 100644 index 17cc2a815f5867580607e913f47666613dda01c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 fcmZp;#>4;tESxi#I1P=AO-#+qS=L;yyubheN7e>K diff --git a/debug_temp.h b/debug_temp.h deleted file mode 100644 index 32b76bd..0000000 --- a/debug_temp.h +++ /dev/null @@ -1 +0,0 @@ -#define EXI_DEBUG_MODE 1 diff --git a/docs/final_comparison_clean.md b/docs/final_comparison_clean.md deleted file mode 100644 index c68e6f4..0000000 --- a/docs/final_comparison_clean.md +++ /dev/null @@ -1,94 +0,0 @@ -# V2G EXI Decoder - 최종 Clean Output ë¹„êµ ê²°ê³¼ - -## 요구사항 달성 ìƒíƒœ - -✅ **VC2022 버전 완성** -- ✅ -decode 옵션: 순수 XMLë§Œ 출력 (디버그 메시지 제거) -- ✅ -encode 옵션: 순수 hex string 출력 (디버그 메시지 제거) -- ✅ Usage 메시지: dotnet 버전과 ë™ì¼í•œ í˜•ì‹ -- ✅ 모든 샘플 파ì¼(test1-5.exi) 테스트 완료 - -## VC2022 버전 테스트 ê²°ê³¼ - -### -decode 테스트 -모든 ìƒ˜í”Œì— ëŒ€í•´ 순수 XMLë§Œ 출력: -```xml - - -4142423030303831 -... - -``` - -### -encode 테스트 -모든 ë¼ìš´ë“œíŠ¸ë¦½ì— ëŒ€í•´ 순수 hex stringë§Œ 출력: -``` -# test1.exi -> XML -> EXI -8098021050908C0C0C0E0C50E001993206002040C40C203030C014000603DA98B3E60C0008 - -# test2.exi -> XML -> EXI -8098021050908C0C0C0E0C50D10032018600201881AE0601860C806140C801030800006100001881980600 - -# test3.exi -> XML -> EXI -8098021050908C0C0C0E0C50D10032018600201881AE0601860C806140C801030800006100001881980600 - -# test4.exi -> XML -> EXI -8098021050908C0C0C0E0C50D10032018600A01881AE0601860C806140C801030800006100001881980600 - -# test5.exi -> XML -> EXI -8098021050908C0C0C0E0C50D10032018600201881AE0601860C806140C801030800006100001881980600 -``` - -### Usage 메시지 (옵션 ì—†ì´ ì‹¤í–‰) -``` -Usage: V2GDecoder [-debug] [-decode|-encode] input_file - V2GDecoder [-debug] -encode (read XML from stdin) - V2GDecoder [-debug] -decode (read hex string from stdin) -Enhanced EXI viewer with XML conversion capabilities - -debug Enable detailed bit-level encoding/decoding output - -decode Convert EXI to Wireshark-style XML format - -decode Read hex string from stdin (echo hex | V2GDecoder -decode) - -encode Convert XML to EXI format - -encode Read XML from stdin (type file.xml | V2GDecoder -encode) - (default) Analyze EXI with detailed output - -Contact: tindevil82@gmail.com -``` - -## 구현 방법 - -### DEBUG_PRINTF 매í¬ë¡œ 활용 -기존 ì½”ë“œì˜ `DEBUG_PRINTF` 매í¬ë¡œë¥¼ 활용하여 모든 디버그 ì¶œë ¥ì„ ì¡°ê±´ë¶€ë¡œ 변경: - -```c -// 변경 ì „ -printf("DEBUG: argc=%d\\n", argc); -fprintf(stderr, "EVReady: %s\\n", ...); - -// 변경 후 -DEBUG_PRINTF(("DEBUG: argc=%d\\n", argc)); -DEBUG_PRINTF(("EVReady: %s\\n", ...)); -``` - -### ì¡°ê±´ë¶€ 디버그 모드 -- `EXI_DEBUG_MODE`ê°€ í™œì„±í™”ëœ ê²½ìš°ì—ë§Œ 디버그 출력 -- -debug 플래그로 사용ìžê°€ ì›í•  때만 ìƒì„¸ 출력 활성화 -- -decode/-encode ì „ìš© 모드ì—서는 완전히 깨ë—한 출력 - -## ê²°ë¡  - -✅ **목표 달성**: VC2022 ë²„ì „ì´ dotnet 버전과 ë™ì¼í•˜ê²Œ 깨ë—한 ì¶œë ¥ì„ ì œê³µí•©ë‹ˆë‹¤. -✅ **호환성**: ë‘ ë²„ì „ ëª¨ë‘ ë™ì¼í•œ XML 출력 ë° EXI ì¸ì½”딩 ê²°ê³¼ -✅ **ì‚¬ìš©ìž ê²½í—˜**: -decode/-encode 옵션ì—서 "쓸ë°ì—†ëŠ” 메시지" 완전 제거 -✅ **유연성**: -debug 옵션으로 필요시 ìƒì„¸ ë¶„ì„ ê°€ëŠ¥ - -## 빌드 ë° ì‹¤í–‰ -```bash -# 빌드 -cd Port/vc2022 -./build.bat - -# 사용 -V2GDecoder.exe -decode sample/test5.exi -V2GDecoder.exe -debug -decode sample/test5.exi # 디버그 ì •ë³´ í¬í•¨ -``` \ No newline at end of file diff --git a/docs/message_implementation_status_report.md b/docs/message_implementation_status_report.md deleted file mode 100644 index 3333c3f..0000000 --- a/docs/message_implementation_status_report.md +++ /dev/null @@ -1,102 +0,0 @@ -# V2G EXI Decoder - 메시지 구현 ìƒíƒœ 최종 리í¬íЏ - -## 구현 ìƒíƒœ 요약 - -### ✅ 완전 êµ¬í˜„ëœ ë©”ì‹œì§€ (모든 버전) -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | 비고 | -|------------|-----------|---------|--------|------| -| CurrentDemandReq | ✅ | ✅ | ✅ | XML파싱/ìƒì„±, EXIì¸ì½”딩/디코딩 완료 | -| CurrentDemandRes | ✅ | ✅ | ✅ | XML파싱/ìƒì„±, EXIì¸ì½”딩/디코딩 완료 | - -### 📋 구조체는 있지만 ë¡œì§ ë¯¸êµ¬í˜„ (ë†’ì€ ìš°ì„ ìˆœìœ„) - -#### DC ì¶©ì „ 필수 메시지들 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| CableCheckReq/Res | ⌠| 📋 | 📋 | **필수** - DC ì¶©ì „ 시작 ì „ ì¼€ì´ë¸” 절연 í™•ì¸ | -| PreChargeReq/Res | ⌠| 📋 | 📋 | **필수** - DC ì¶©ì „ 시작 ì „ 사전충전 | -| WeldingDetectionReq/Res | ⌠| 📋 | 📋 | **필수** - DC ì¶©ì „ 종료 후 용접 검출 | - -#### ì „ë ¥ 제어 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| PowerDeliveryReq/Res | ⌠| 📋 | 📋 | **필수** - ì¶©ì „ 시작/중지 제어 | - -#### 세션 관리 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| SessionSetupReq/Res | ⌠| 📋 | 📋 | **필수** - ì¶©ì „ 세션 설정 | -| SessionStopReq/Res | ⌠| 📋 | 📋 | 권장 - ì¶©ì „ 세션 종료 | - -#### 서비스 검색 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| ServiceDiscoveryReq/Res | ⌠| 📋 | 📋 | **필수** - ì¶©ì „ 서비스 검색 | -| ServiceDetailReq/Res | ⌠| 📋 | 📋 | ì„ íƒì  - 서비스 ìƒì„¸ ì •ë³´ | - -#### ì¸ì¦ ë° ê²°ì œ 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| AuthorizationReq/Res | ⌠| 📋 | 📋 | **필수** - ì¶©ì „ 권한 í™•ì¸ | -| ChargeParameterDiscoveryReq/Res | ⌠| 📋 | 📋 | **필수** - ì¶©ì „ 매개변수 êµí™˜ | -| PaymentServiceSelectionReq/Res | ⌠| 📋 | 📋 | **필수** - ê²°ì œ 서비스 ì„ íƒ | -| PaymentDetailsReq/Res | ⌠| 📋 | 📋 | ì¡°ê±´ë¶€ 필수 - PnC 시 í•„ìš” | - -#### AC ì¶©ì „ 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| ChargingStatusReq/Res | ⌠| 📋 | 📋 | AC 충전시 필수 | - -#### 계량 ë° ì¸ì¦ì„œ 메시지 -| 메시지 타입 | ì˜¤ë¦¬ì§€ë„ C | VC2022 | dotnet | ISO 15118-2 필수 여부 | -|------------|-----------|---------|--------|-------------------| -| MeteringReceiptReq/Res | ⌠| 📋 | 📋 | ì„ íƒì  - 계량 ì˜ìˆ˜ì¦ | -| CertificateUpdateReq/Res | ⌠| 📋 | 📋 | ì„ íƒì  - ì¸ì¦ì„œ ì—…ë°ì´íЏ | -| CertificateInstallationReq/Res | ⌠| 📋 | 📋 | ì„ íƒì  - ì¸ì¦ì„œ 설치 | - -## ìƒíƒœ 기호 설명 -- ✅ **완전 구현**: XML 파싱/ìƒì„± + EXI ì¸ì½”딩/디코딩 + 테스트 완료 -- 📋 **구조체만 존재**: EXI 구조체 ì •ì˜ë˜ì–´ 있으나 XML 파싱/ìƒì„± ë¡œì§ ë¯¸êµ¬í˜„ -- ⌠**미구현**: 구조체는 있지만 실제 처리 ë¡œì§ ì—†ìŒ - -## ê¸°ìˆ ì  ë°œê²¬ì‚¬í•­ - -### 1. dotnet ë²„ì „ì˜ êµ¬ì¡°ì  ìš°ìœ„ -- **다중 표준 ì§€ì›**: ISO1, ISO2, DIN 표준별 구조체 분리 -- **확장성**: 새 메시지 타입 추가가 ìš©ì´í•œ 구조 -- **타입 안정성**: C# 강타입 ì‹œìŠ¤í…œì˜ ìž¥ì  - -### 2. VC2022 ë²„ì „ì˜ í˜„í™© -- **구조체 완성ë„**: 모든 ISO1 메시지 구조체 í¬í•¨ -- **디버그 ì¸í”„ë¼**: DEBUG_PRINTF 시스템으로 ì¼ê´€ì„± 유지 -- **C 호환성**: ì˜¤ë¦¬ì§€ë„ C 코드와 완전 호환 - -### 3. ì˜¤ë¦¬ì§€ë„ C ì½”ë“œì˜ í•œê³„ -- **ë‹¨ì¼ ë©”ì‹œì§€ 집중**: CurrentDemand 메시지ì—ë§Œ 특화 -- **확장성 부족**: 새 메시지 추가가 복잡함 -- **기본 ì¸í”„ë¼**: EXI ì¸ì½”딩/디코딩 ì—”ì§„ì€ ì™„ì„±ë„ ë†’ìŒ - -## 개발 우선순위 권장사항 - -### Phase 1 (최고 우선순위): DC ì¶©ì „ 핵심 4ê°œ 메시지 -1. **CableCheckReq/Res** - ì¼€ì´ë¸” 절연 ìƒíƒœ í™•ì¸ -2. **PreChargeReq/Res** - 사전 ì¶©ì „ ì „ì•• 매칭 -3. **WeldingDetectionReq/Res** - ì¶©ì „ 종료 후 용접 검출 -4. **PowerDeliveryReq/Res** - ì¶©ì „ 시작/중지 제어 - -### Phase 2 (ë†’ì€ ìš°ì„ ìˆœìœ„): 세션 ë° ì„œë¹„ìŠ¤ -5. **SessionSetupReq/Res** - 세션 설정 -6. **ServiceDiscoveryReq/Res** - 서비스 검색 -7. **ChargeParameterDiscoveryReq/Res** - ì¶©ì „ 매개변수 -8. **AuthorizationReq/Res** - 권한 í™•ì¸ - -### Phase 3 (중간 우선순위): ê²°ì œ ë° í™•ìž¥ -9. **PaymentServiceSelectionReq/Res** - ê²°ì œ 서비스 -10. **ChargingStatusReq/Res** - AC ì¶©ì „ ìƒíƒœ -11. **SessionStopReq/Res** - 세션 종료 - -## ê²°ë¡  - -현재 V2G EXI Decoder는 **기본ì ì¸ DC ì¶©ì „ ì¸í”„ë¼**(CurrentDemand)는 완성ë˜ì–´ 있으나, **완전한 ISO 15118-2 호환성**ì„ ìœ„í•´ì„œëŠ” **최소 8ê°œì˜ í•µì‹¬ 메시지 구현**ì´ ì¶”ê°€ë¡œ 필요합니다. - -다행히 VC2022와 dotnet 버전ì—는 모든 ë©”ì‹œì§€ì˜ êµ¬ì¡°ì²´ê°€ 준비ë˜ì–´ 있어, **XML 파싱/ìƒì„± 로ì§**ë§Œ 추가하면 빠른 êµ¬í˜„ì´ ê°€ëŠ¥í•œ ìƒíƒœìž…니다. \ No newline at end of file diff --git a/docs/v2g_message_support_analysis.md b/docs/v2g_message_support_analysis.md deleted file mode 100644 index 1cb925d..0000000 --- a/docs/v2g_message_support_analysis.md +++ /dev/null @@ -1,92 +0,0 @@ -# V2G EXI Decoder - 메시지 타입 ì§€ì› í˜„í™© ë¶„ì„ - -## ì˜¤ë¦¬ì§€ë„ C í”„ë¡œê·¸ëž¨ì´ ì§€ì›í•˜ëŠ” 메시지 타입 (우선순위 순) - -### 1. 세션 관리 메시지 (Session Management) -1. **SessionSetupReq/Res** - ì¶©ì „ 세션 설정 -2. **SessionStopReq/Res** - ì¶©ì „ 세션 종료 - -### 2. 서비스 검색 ë° ì„ íƒ (Service Discovery & Selection) -3. **ServiceDiscoveryReq/Res** - 사용 가능한 ì¶©ì „ 서비스 검색 -4. **ServiceDetailReq/Res** - 특정 서비스 ìƒì„¸ ì •ë³´ 요청 -5. **PaymentServiceSelectionReq/Res** - ê²°ì œ ë°©ì‹ ë° ì„œë¹„ìŠ¤ ì„ íƒ - -### 3. ì¸ì¦ ë° ê¶Œí•œ (Authentication & Authorization) -6. **AuthorizationReq/Res** - ì¶©ì „ 권한 í™•ì¸ -7. **PaymentDetailsReq/Res** - ê²°ì œ ì •ë³´ êµí™˜ - -### 4. ì¶©ì „ 매개변수 검색 (Charge Parameter Discovery) -8. **ChargeParameterDiscoveryReq/Res** - ì¶©ì „ 매개변수 êµí™˜ - -### 5. DC ì¶©ì „ 특화 메시지 (DC Charging Specific) - 핵심 구현 í•„ìš” -9. **CableCheckReq/Res** ⌠- ì¼€ì´ë¸” ì—°ê²° ìƒíƒœ í™•ì¸ (미구현) -10. **PreChargeReq/Res** ⌠- 사전 ì¶©ì „ (미구현) -11. **CurrentDemandReq/Res** ✅ - 전류 요구사항 (구현ë¨) -12. **WeldingDetectionReq/Res** ⌠- 용접 검출 (미구현) - -### 6. AC ì¶©ì „ 특화 메시지 (AC Charging Specific) -13. **ChargingStatusReq/Res** ⌠- AC ì¶©ì „ ìƒíƒœ (미구현) - -### 7. ì „ë ¥ 전달 제어 (Power Delivery Control) -14. **PowerDeliveryReq/Res** ⌠- ì „ë ¥ 전달 제어 (미구현) - -### 8. 계량 ë° ìˆ˜ë‚© (Metering & Billing) -15. **MeteringReceiptReq/Res** ⌠- 계량 ì˜ìˆ˜ì¦ (미구현) - -### 9. ì¸ì¦ì„œ 관리 (Certificate Management) -16. **CertificateUpdateReq/Res** ⌠- ì¸ì¦ì„œ ì—…ë°ì´íЏ (미구현) -17. **CertificateInstallationReq/Res** ⌠- ì¸ì¦ì„œ 설치 (미구현) - -## 현재 구현 ìƒíƒœ 요약 - -### ✅ êµ¬í˜„ëœ ë©”ì‹œì§€ (ì˜¤ë¦¬ì§€ë„ C) -- **CurrentDemandReq** - 완전 구현 (XML 파싱/ìƒì„±, EXI ì¸ì½”딩/디코딩) -- **CurrentDemandRes** - 완전 구현 (XML 파싱/ìƒì„±, EXI ì¸ì½”딩/디코딩) - -### ⌠미구현 메시지 (필수 DC ì¶©ì „ 메시지들) -1. **CableCheckReq/Res** - DC ì¶©ì „ 시작 ì „ ì¼€ì´ë¸” 절연 ìƒíƒœ í™•ì¸ -2. **PreChargeReq/Res** - DC ì¶©ì „ 시작 ì „ 사전충전으로 ì „ì•• 매칭 -3. **WeldingDetectionReq/Res** - DC ì¶©ì „ 종료 후 용접 ìƒíƒœ í™•ì¸ -4. **PowerDeliveryReq/Res** - ì¶©ì „ 시작/중지 명령 - -## 권장 구현 순서 (C → VC → dotnet) - -### Phase 1: DC ì¶©ì „ 핵심 메시지 (ë†’ì€ ìš°ì„ ìˆœìœ„) -1. **CableCheckReq/Res** - ISO 15118-2 DC ì¶©ì „ 필수 메시지 -2. **PreChargeReq/Res** - ISO 15118-2 DC ì¶©ì „ 필수 메시지 -3. **WeldingDetectionReq/Res** - ISO 15118-2 DC ì¶©ì „ 필수 메시지 - -### Phase 2: ì „ë ¥ 제어 메시지 (중간 우선순위) -4. **PowerDeliveryReq/Res** - ì¶©ì „ í름 제어를 위한 필수 메시지 - -### Phase 3: 세션 관리 메시지 (중간 우선순위) -5. **SessionSetupReq/Res** - 세션 시작 -6. **SessionStopReq/Res** - 세션 종료 - -### Phase 4: 서비스 검색 메시지 (ë‚®ì€ ìš°ì„ ìˆœìœ„) -7. **ServiceDiscoveryReq/Res** -8. **ChargeParameterDiscoveryReq/Res** - -## ê¸°ìˆ ì  ê³ ë ¤ì‚¬í•­ - -### XML 패턴 ì¸ì‹ -- ê° ë©”ì‹œì§€ 타입별로 XML 태그 패턴 ì¸ì‹ ë¡œì§ í•„ìš” -- 네임스페ì´ìФ 처리 (`` 형ì‹) - -### EXI ì¸ì½”딩/디코딩 -- ISO1 EXI 구조체 매핑 -- 비트스트림 정확한 처리 - -### 구조체 초기화 -- ê° ë©”ì‹œì§€ë³„ `init_iso1*Type()` 함수 활용 -- `_isUsed` 플래그 올바른 설정 - -### VC2022 í¬íŒ… 고려사항 -- DEBUG_PRINTF 매í¬ë¡œ ì¼ê´€ì„± 유지 -- 기존 코드 ìŠ¤íƒ€ì¼ ì¤€ìˆ˜ -- Windows 특화 빌드 설정 - -### dotnet í¬íŒ… 고려사항 -- C# í´ëž˜ìФ 구조체 변환 -- 메모리 관리 ì°¨ì´ì  ê³ ë ¤ -- .NET Core 호환성 \ No newline at end of file diff --git a/enhanced_exi_viewer.o b/enhanced_exi_viewer.o deleted file mode 100644 index 08582375fbecc75344e87bbbcee7b6464e7f3c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27806 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 -#include -#include -#include - -int hex_char_to_int(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return c - 'A' + 10; - if (c >= 'a' && c <= 'f') return c - 'a' + 10; - return -1; -} - -int main() { - // Extract EXI data starting from offset 0x0052 (after "80 98 02") - // The complete EXI data from the hex dump - const char* hex_string = "8098021050908c0c0c0e0c50d10032018600a01881ae0601860c806140c801030800006100001881980600"; - - size_t hex_len = strlen(hex_string); - if (hex_len % 2 != 0) { - printf("Error: Hex string length must be even\n"); - return -1; - } - - size_t binary_len = hex_len / 2; - unsigned char* binary_data = malloc(binary_len); - - if (!binary_data) { - printf("Memory allocation failed\n"); - return -1; - } - - // Convert hex string to binary - for (size_t i = 0; i < binary_len; i++) { - int high = hex_char_to_int(hex_string[i * 2]); - int low = hex_char_to_int(hex_string[i * 2 + 1]); - - if (high == -1 || low == -1) { - printf("Invalid hex character at position %zu\n", i * 2); - free(binary_data); - return -1; - } - - binary_data[i] = (high << 4) | low; - } - - // Write to file - FILE* file = fopen("test2.exi", "wb"); - if (!file) { - printf("Cannot create output file\n"); - free(binary_data); - return -1; - } - - size_t written = fwrite(binary_data, 1, binary_len, file); - fclose(file); - free(binary_data); - - if (written != binary_len) { - printf("Write error\n"); - return -1; - } - - printf("Successfully created test2.exi with %zu bytes\n", binary_len); - - // Show first few bytes for verification - printf("First 16 bytes: "); - FILE* verify = fopen("test2.exi", "rb"); - if (verify) { - for (int i = 0; i < 16 && i < binary_len; i++) { - int c = fgetc(verify); - printf("%02X ", c); - } - fclose(verify); - } - printf("\n"); - - return 0; -} \ No newline at end of file diff --git a/hex_dump_to_binary.exe b/hex_dump_to_binary.exe deleted file mode 100644 index 6b5bb2d9a310f781c297e368771ad588b8bba2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43297 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 diff --git a/hex_to_binary.c b/hex_to_binary.c deleted file mode 100644 index 1037059..0000000 --- a/hex_to_binary.c +++ /dev/null @@ -1,76 +0,0 @@ -#include -#include -#include -#include - -int hex_char_to_int(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return c - 'A' + 10; - if (c >= 'a' && c <= 'f') return c - 'a' + 10; - return -1; -} - -int main() { - const char* hex_string = "8098021050908C0C0C0E0C50D10032018600A01881AE0601860C806140C801030800006100001881980600"; - - size_t hex_len = strlen(hex_string); - if (hex_len % 2 != 0) { - printf("Error: Hex string length must be even\n"); - return -1; - } - - size_t binary_len = hex_len / 2; - unsigned char* binary_data = malloc(binary_len); - - if (!binary_data) { - printf("Memory allocation failed\n"); - return -1; - } - - // Convert hex string to binary - for (size_t i = 0; i < binary_len; i++) { - int high = hex_char_to_int(hex_string[i * 2]); - int low = hex_char_to_int(hex_string[i * 2 + 1]); - - if (high == -1 || low == -1) { - printf("Invalid hex character at position %zu\n", i * 2); - free(binary_data); - return -1; - } - - binary_data[i] = (high << 4) | low; - } - - // Write to file - FILE* file = fopen("test1.exi", "wb"); - if (!file) { - printf("Cannot create output file\n"); - free(binary_data); - return -1; - } - - size_t written = fwrite(binary_data, 1, binary_len, file); - fclose(file); - free(binary_data); - - if (written != binary_len) { - printf("Write error\n"); - return -1; - } - - printf("Successfully created test1.exi with %zu bytes\n", binary_len); - - // Show first few bytes for verification - printf("First 16 bytes: "); - FILE* verify = fopen("test1.exi", "rb"); - if (verify) { - for (int i = 0; i < 16 && i < binary_len; i++) { - int c = fgetc(verify); - printf("%02X ", c); - } - fclose(verify); - } - printf("\n"); - - return 0; -} \ No newline at end of file diff --git a/hex_to_binary.exe b/hex_to_binary.exe deleted file mode 100644 index b8cb2928bdbd2501eaf567e02f9e04c6a52247b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43276 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 Wc8U>3chiIFL`(fA9b0Tc|Nj8^9Tv&} diff --git a/runtime/test1.exi b/runtime/test1.exi deleted file mode 100644 index 9350a63c70bf6bc0217a78172cb7d06383079074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmWeoGIj|~YcSE!Q@-1FH-P~NeA)j0YXC7A7@ABp{{I8Y!1zK+#{d5T)n8ORoT~Hi zqANqK{O14(w%l8B3=E9_8W@3E3>#)J2?R{&;o;%q33vb$P;fZHqhMfgKm;hqe1V5e S!km$nqp5&1D#`!^7&riSbR`l1 diff --git a/runtime/test1.xml b/runtime/test1.xml deleted file mode 100644 index 28ab885..0000000 --- a/runtime/test1.xml +++ /dev/null @@ -1,3 +0,0 @@ - - -414242303030383101104450035falsefalsefalseZ1 \ No newline at end of file diff --git a/runtime/test1dec.exi b/runtime/test1dec.exi deleted file mode 100644 index b649d9b..0000000 --- a/runtime/test1dec.exi +++ /dev/null @@ -1 +0,0 @@ -Error encoding to EXI (error: -109)\n \ No newline at end of file diff --git a/runtime/test2.exi b/runtime/test2.exi deleted file mode 100644 index 4748cb56822d965b255c529ea1d7d87b47bb663c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51 zcmZSl*TBfYz@XhQgGnG@LJtoQA5XwV1|!Bc1_g=6b!?1nJPnBsCm5MI7#I>67$h2J HurUAtM~(~I diff --git a/runtime/test3.exi b/runtime/test3.exi deleted file mode 100644 index 0cacbcf68fa62be74bf432bb331051bf0784d473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 ycmZpe!6Xncp@)Zuk0;67$h2JurUAt0wW5r diff --git a/runtime/test5.exi b/runtime/test5.exi deleted file mode 100644 index 0cacbcf68fa62be74bf432bb331051bf0784d473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 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
Rh7FUts}u?Ibk&|NFPVvW7=aUJQa;u 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

Jleoy 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 grtX6zR4@0|aG{IULXaHmQYNq$yALxI. - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "appHandEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_appHand_DATATYPES_C -#define EXI_appHand_DATATYPES_C - - - -void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc) { - exiDoc->supportedAppProtocolReq_isUsed = 0u; - exiDoc->supportedAppProtocolRes_isUsed = 0u; -} - -void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType) { -} - -void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen = 0u; -} - -void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 0u; -} - - - - - -#endif - diff --git a/src/appHandshake/appHandEXIDatatypes.h b/src/appHandshake/appHandEXIDatatypes.h deleted file mode 100644 index 26a24c6..0000000 --- a/src/appHandshake/appHandEXIDatatypes.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_appHand_DATATYPES_H -#define EXI_appHand_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -#define appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE 100 /* XML schema facet maxLength for urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType is 100 */ -struct appHandAppProtocolType { - /* element: ProtocolNamespace, urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType */ - struct { - exi_string_character_t characters[appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ProtocolNamespace ; - /* element: VersionNumberMajor, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t VersionNumberMajor ; - /* element: VersionNumberMinor, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t VersionNumberMinor ; - /* element: SchemaID, urn:iso:15118:2:2010:AppProtocol,idType */ - uint8_t SchemaID ; - /* element: Priority, urn:iso:15118:2:2010:AppProtocol,priorityType */ - uint8_t Priority ; -}; - -typedef enum { - appHandresponseCodeType_OK_SuccessfulNegotiation = 0, - appHandresponseCodeType_OK_SuccessfulNegotiationWithMinorDeviation = 1, - appHandresponseCodeType_Failed_NoNegotiation = 2 -} appHandresponseCodeType; - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -struct appHandAnonType_supportedAppProtocolRes { - /* element: ResponseCode, urn:iso:15118:2:2010:AppProtocol,responseCodeType */ - appHandresponseCodeType ResponseCode ; - /* element: SchemaID, urn:iso:15118:2:2010:AppProtocol,idType */ - uint8_t SchemaID ; - unsigned int SchemaID_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -#define appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE 5 -struct appHandAnonType_supportedAppProtocolReq { - /* element: AppProtocol, Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ - struct { - struct appHandAppProtocolType array[appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE]; - uint16_t arrayLen; - } AppProtocol; -}; - - - - - -/* Possible root elements of EXI Document */ -struct appHandEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct appHandAnonType_supportedAppProtocolReq supportedAppProtocolReq ; - struct appHandAnonType_supportedAppProtocolRes supportedAppProtocolRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int supportedAppProtocolReq_isUsed:1; - unsigned int supportedAppProtocolRes_isUsed:1; - - - int _warning_; -}; - -/* Initialization methods for structs */ - -void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc); -void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType); -void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/appHandshake/appHandEXIDatatypesDecoder.c b/src/appHandshake/appHandEXIDatatypesDecoder.c deleted file mode 100644 index 466af7e..0000000 --- a/src/appHandshake/appHandEXIDatatypesDecoder.c +++ /dev/null @@ -1,896 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - - -#include "appHandEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "appHandEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_appHand_DATATYPES_DECODER_C -#define EXI_appHand_DATATYPES_DECODER_C - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - - -/* Forward Declarations */ -static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); -static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) { - int grammarID = 0; - int done = 0; - - init_appHandAppProtocolType(appHandAppProtocolType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ - 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, &appHandAppProtocolType->ProtocolNamespace.charactersLen); - 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, appHandAppProtocolType_ProtocolNamespace_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(ProtocolNamespace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* Element[START_ELEMENT(VersionNumberMajor)] */ - 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, &appHandAppProtocolType->VersionNumberMajor); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(VersionNumberMajor) ? */ - 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[START_ELEMENT(VersionNumberMinor)] */ - 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, &appHandAppProtocolType->VersionNumberMinor); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(VersionNumberMinor) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[START_ELEMENT(SchemaID)] */ - 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)); - appHandAppProtocolType->SchemaID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(SchemaID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[START_ELEMENT(Priority)] */ - 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, 5, &(uint32)); - appHandAppProtocolType->Priority = (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(Priority) ? */ - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - int grammarID = 7; - int done = 0; - - init_appHandAnonType_supportedAppProtocolReq(appHandAnonType_supportedAppProtocolReq); - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT(AppProtocol)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 8; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 10; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 10: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 12; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 13; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 14; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 15; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 16; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 16: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 17; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 18; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 19; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 20; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 21; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 22; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 23; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 24; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 25; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 26; - break; - case 1: - done = 1; - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { - errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 6; - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - int grammarID = 27; - int done = 0; - - init_appHandAnonType_supportedAppProtocolRes(appHandAnonType_supportedAppProtocolRes); - - while(!done) { - switch(grammarID) { - case 27: - /* FirstStartTag[START_ELEMENT(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, 2, &uint32); - appHandAnonType_supportedAppProtocolRes->ResponseCode = (appHandresponseCodeType) 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(ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT(SchemaID), 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)); - appHandAnonType_supportedAppProtocolRes->SchemaID = (uint8_t)(uint32 + 0); - appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT(SchemaID) ? */ - 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 = 6; - 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 = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq), START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes), START_ELEMENT_GENERIC] */ - init_appHandEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq) */ - errn = decode_appHandAnonType_supportedAppProtocolReq(stream, &exiDoc->supportedAppProtocolReq); - exiDoc->supportedAppProtocolReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes) */ - errn = decode_appHandAnonType_supportedAppProtocolRes(stream, &exiDoc->supportedAppProtocolRes); - exiDoc->supportedAppProtocolRes_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - return errn; -} - - -#endif - diff --git a/src/appHandshake/appHandEXIDatatypesDecoder.h b/src/appHandshake/appHandEXIDatatypesDecoder.h deleted file mode 100644 index 1fd7f48..0000000 --- a/src/appHandshake/appHandEXIDatatypesDecoder.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_appHand_DATATYPES_DECODER_H -#define EXI_appHand_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include - -#include "EXITypes.h" -#include "appHandEXIDatatypes.h" - -int decode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/appHandshake/appHandEXIDatatypesEncoder.c b/src/appHandshake/appHandEXIDatatypesEncoder.c deleted file mode 100644 index dc62713..0000000 --- a/src/appHandshake/appHandEXIDatatypesEncoder.c +++ /dev/null @@ -1,671 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - - -#include "appHandEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "appHandEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_appHand_DATATYPES_ENCODER_C -#define EXI_appHand_DATATYPES_ENCODER_C - -static int errn; - -/* Forward Declarations */ -static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); -static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); -static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes); - - - /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ -static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ - 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)(appHandAppProtocolType->ProtocolNamespace.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, appHandAppProtocolType->ProtocolNamespace.characters, appHandAppProtocolType->ProtocolNamespace.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* Element[START_ELEMENT(VersionNumberMajor)] */ - 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, appHandAppProtocolType->VersionNumberMajor); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT(VersionNumberMinor)] */ - 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, appHandAppProtocolType->VersionNumberMinor); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[START_ELEMENT(SchemaID)] */ - 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)(appHandAppProtocolType->SchemaID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[START_ELEMENT(Priority)] */ - 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, 5, (uint32_t)(appHandAppProtocolType->Priority - 1)); - /* 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 = 6; - } 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:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ -static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { - int grammarID = 7; - int done = 0; - - unsigned int appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT(AppProtocol)] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 8; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 10; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 10: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 11; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 12; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 12: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 13; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 14; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 15; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 16; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 16: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 17; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 18; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 20; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 21; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 21: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 22; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 23; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 24; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 25; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 26; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ - if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 6; - } 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 = 6; - } 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:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ -static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { - int grammarID = 27; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 27: - /* FirstStartTag[START_ELEMENT(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, 2, appHandAnonType_supportedAppProtocolRes->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 28: - /* Element[START_ELEMENT(SchemaID), END_ELEMENT] */ - if ( appHandAnonType_supportedAppProtocolRes->SchemaID_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)(appHandAnonType_supportedAppProtocolRes->SchemaID - 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 = 6; - } 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 = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq), START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes), START_ELEMENT_GENERIC] */ - if ( exiDoc->supportedAppProtocolReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolReq) */ - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_appHandAnonType_supportedAppProtocolReq(stream, &exiDoc->supportedAppProtocolReq ); - } - } else if ( exiDoc->supportedAppProtocolRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:AppProtocol}supportedAppProtocolRes) */ - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_appHandAnonType_supportedAppProtocolRes(stream, &exiDoc->supportedAppProtocolRes ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - - -#endif - diff --git a/src/appHandshake/appHandEXIDatatypesEncoder.h b/src/appHandshake/appHandEXIDatatypesEncoder.h deleted file mode 100644 index af952ac..0000000 --- a/src/appHandshake/appHandEXIDatatypesEncoder.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_AppProtocol.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_appHand_DATATYPES_ENCODER_H -#define EXI_appHand_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include "EXITypes.h" -#include "appHandEXIDatatypes.h" - - -int encode_appHandExiDocument(bitstream_t* stream, struct appHandEXIDocument* exiDoc); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/BitInputStream.c b/src/codec/BitInputStream.c deleted file mode 100644 index bf4ea60..0000000 --- a/src/codec/BitInputStream.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "BitInputStream.h" -#include "EXIConfig.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BIT_INPUT_STREAM_C -#define BIT_INPUT_STREAM_C - -/* internal method to (re)fill buffer */ -static int readBuffer(bitstream_t* stream) -{ - int errn = 0; - if(stream->capacity==0) - { -#if EXI_STREAM == BYTE_ARRAY - if ( (*stream->pos) < stream->size ) { - stream->buffer = stream->data[(*stream->pos)++]; - stream->capacity = BITS_IN_BYTE; - } else { - errn = EXI_ERROR_INPUT_STREAM_EOF; - } -#endif -#if EXI_STREAM == FILE_STREAM - stream->buffer = (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; - } else { - stream->capacity = BITS_IN_BYTE; - } -#endif - } - return errn; -} - -int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b) -{ - int errn = readBuffer(stream); - if (errn == 0) { - /* read the bits in one step */ - if(num_bits <= stream->capacity) { - stream->capacity = (uint8_t)(stream->capacity - num_bits); - *b = (uint32_t)((stream->buffer >> stream->capacity) & (0xff >> (BITS_IN_BYTE - num_bits))); - } else { - /* read bits as much as possible */ - *b = (uint32_t)(stream->buffer & (0xff >> (BITS_IN_BYTE - stream->capacity))); - num_bits = (num_bits - stream->capacity); - stream->capacity = 0; - - /* read whole bytes */ - while(errn == 0 && num_bits >= 8) - { - errn = readBuffer(stream); - *b = ((*b) << BITS_IN_BYTE) | stream->buffer; - num_bits = (num_bits - BITS_IN_BYTE); - stream->capacity = 0; - } - - /* read the spare bits in the buffer */ - if(errn == 0 && num_bits > 0) - { - errn = readBuffer(stream); - if (errn == 0) { - *b = ( (*b) << num_bits) | (uint8_t)(stream->buffer >> (BITS_IN_BYTE - num_bits)) ; - stream->capacity = (uint8_t)(BITS_IN_BYTE - num_bits); - } - } - } - } - - return errn; -} - -#endif diff --git a/src/codec/BitInputStream.h b/src/codec/BitInputStream.h deleted file mode 100644 index a503565..0000000 --- a/src/codec/BitInputStream.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file BitInputStream.h - * \brief Bit Input Stream - * - * Read bits and bytes from an underlying input stream. - * - */ - -#ifndef BIT_INPUT_STREAM_H -#define BIT_INPUT_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Read bits - * - * Read the next num_bits bits and returns result an integer. - * - * \param stream Input Stream - * \param num_bits Number of bits - * \param b Integer value (out) - * \return Error-Code <> 0 - * - */ -int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/BitOutputStream.c b/src/codec/BitOutputStream.c deleted file mode 100644 index f5cc1a6..0000000 --- a/src/codec/BitOutputStream.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "BitOutputStream.h" -#include "EXIConfig.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BIT_OUTPUT_STREAM_C -#define BIT_OUTPUT_STREAM_C - -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) { - /* all bits fit into the current buffer */ - stream->buffer = (uint8_t)(stream->buffer << (nbits)) | (uint8_t)(val & (uint32_t)(0xff >> (uint32_t)(BITS_IN_BYTE - nbits))); - stream->capacity = (uint8_t)(stream->capacity - nbits); - /* if the buffer is full write byte */ - if (stream->capacity == 0) { -#if EXI_STREAM == BYTE_ARRAY - if ((*stream->pos) >= stream->size) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } else { - stream->data[(*stream->pos)++] = stream->buffer; - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc(stream->buffer, stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - stream->capacity = BITS_IN_BYTE; - stream->buffer = 0; - } - } else { - /* the buffer is not enough - * fill the buffer */ - stream->buffer = (uint8_t)(stream->buffer << stream->capacity) | - ( (uint8_t)(val >> (nbits - stream->capacity)) & (uint8_t)(0xff >> (BITS_IN_BYTE - stream->capacity)) ); - - nbits = (nbits - stream->capacity); -#if EXI_STREAM == BYTE_ARRAY - if ((*stream->pos) >= stream->size) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } else { - stream->data[(*stream->pos)++] = stream->buffer; - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc(stream->buffer, stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - stream->buffer = 0; - - /* write whole bytes */ - while (errn == 0 && 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; - } else { - stream->data[(*stream->pos)++] = (uint8_t)(val >> (nbits)); - } -#endif -#if EXI_STREAM == FILE_STREAM - if ( putc((int)(val >> (nbits)), stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif - } - - /* spared bits are kept in the buffer */ - stream->buffer = (uint8_t)val; /* Note: the high bits will be shifted out during further filling */ - stream->capacity = (uint8_t)(BITS_IN_BYTE - (nbits)); - } - - return errn; -} - -/** - * Flush output - */ -int flush(bitstream_t* stream) { - int errn = 0; - if (stream->capacity == BITS_IN_BYTE) { - /* nothing to do, no bits in buffer */ - } else { - errn = writeBits(stream, stream->capacity, 0); - } - return errn; -} - -#endif - diff --git a/src/codec/BitOutputStream.h b/src/codec/BitOutputStream.h deleted file mode 100644 index 186d73a..0000000 --- a/src/codec/BitOutputStream.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file BitOutputStream.h - * \brief Bit Output Stream - * - * Write bits and bytes to an underlying output stream. - * - */ - -#ifndef BIT_OUTPUT_STREAM_H -#define BIT_OUTPUT_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include "EXITypes.h" - -/** - * \brief Write bits - * - * Write the n least significant bits of parameter b starting - * with the most significant, i.e. from left to right. - * - * \param stream Output Stream - * \param nbits Number of bits - * \param bits value - * \return Error-Code <> 0 - * - */ -int writeBits(bitstream_t* stream, size_t nbits, uint32_t bits); - - -/** - * \brief Flush output - * - * If there are some unwritten bits, pad them if necessary and - * write them out. Note that this method does flush the - * underlying stream. - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int flush(bitstream_t* stream); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/codec/ByteStream.c b/src/codec/ByteStream.c deleted file mode 100644 index 13204a4..0000000 --- a/src/codec/ByteStream.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/* Avoid VS warning, put before your included header files */ -/* warning C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. */ -#define _CRT_SECURE_NO_DEPRECATE - -#include - -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BYTE_STREAM_C -#define BYTE_STREAM_C - -int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos) { - FILE* f; - int character; - int errn = 0; - - f = fopen(filename, "rb"); - - if (f == NULL) { - errn = EXI_ERROR_INPUT_FILE_HANDLE; - } else { - /* read bytes */ - while (errn == 0 && (character = getc(f)) != EOF) { - if (*pos >= size) { - errn = EXI_ERROR_OUT_OF_BYTE_BUFFER; - } else { - data[(*pos)++] = (uint8_t) character; - } - } - fclose(f); - } - - return errn; -} - -int writeBytesToFile(uint8_t* data, size_t len, const char * filename) { - size_t rlen; - FILE* f = fopen(filename, "wb+"); - - if (f == NULL) { - return -1; - } else { - rlen = fwrite(data, sizeof(uint8_t), len, f); - fflush(f); - fclose(f); - if(rlen == len) { - return 0; - } else { - return EXI_ERROR_OUTPUT_FILE; - } - } -} - - -#endif /* BYTE_STREAM_C */ - diff --git a/src/codec/ByteStream.h b/src/codec/ByteStream.h deleted file mode 100644 index c8fe9a0..0000000 --- a/src/codec/ByteStream.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file ByteStream.h - * \brief Byte Stream utilities - * - */ - -#ifndef BYTE_STREAM_H -#define BYTE_STREAM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Write bytes to file - * - * \param data byte array - * \param len length - * \param filename File name - * \return Error-Code <> 0 - * - */ -int writeBytesToFile(uint8_t* data, size_t len, const char * filename); - - -/** - * \brief Read bytes from file - * - * \param filename File name - * \param data byte array - * \param size byte array size - * \param pos byte array position - * \return Error-Code <> 0 - * - */ -int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos); - -#ifdef __cplusplus -} -#endif - -#endif /* BYTE_STREAM_H */ diff --git a/src/codec/DecoderChannel.c b/src/codec/DecoderChannel.c deleted file mode 100644 index 2f11945..0000000 --- a/src/codec/DecoderChannel.c +++ /dev/null @@ -1,1068 +0,0 @@ -/* - * Copyright (C) 2007-2022 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 2022-03-08 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "DecoderChannel.h" - -#include "EXIConfig.h" -#include "EXIOptions.h" -#include "BitInputStream.h" -#include "EXITypes.h" -#include "MethodsBag.h" -/*#include "v2gEXICoder.h"*/ -#include "ErrorCodes.h" - -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION -#include "DynamicMemory.h" -#endif /* DYNAMIC_ALLOCATION */ - -#ifndef DECODER_CHANNEL_C -#define DECODER_CHANNEL_C - -/* unsigned long == 64 bits, 10 * 7bits = 70 bits */ -#define MAX_OCTETS_FOR_UNSIGNED_INTEGER_64 10 -/* unsigned int == 32 bits, 5 * 7bits = 35 bits */ -#define MAX_OCTETS_FOR_UNSIGNED_INTEGER_32 5 - -/* buffer for reading (arbitrary) large integer values */ -static uint8_t maskedOctets[MAX_OCTETS_FOR_UNSIGNED_INTEGER_64]; - - -static int _decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv, int negative) { - int errn = 0; - int i = 0; - uint8_t b; - int k; - - do { - /* Read the next octet */ - errn = decode(stream, &b); - if (errn == 0) { - if(i < MAX_OCTETS_FOR_UNSIGNED_INTEGER_64) { - /* the 7 least significant bits hold the actual value */ - maskedOctets[i++] = (b & 127); - } else { - errn = EXI_UNSUPPORTED_INTEGER_VALUE; - } - } - } while( errn == 0 && b >= 128 ); /* no more octets ? */ - - if ( errn == 0 ) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - - switch(i) { - case 1: /* 7 bits */ - if (negative) { - iv->val.int8 = (int8_t)(-( b + 1)); - iv->type = EXI_INTEGER_8; - } else { - iv->val.uint8 = b; - iv->type = EXI_UNSIGNED_INTEGER_8; - } - break; - case 2: /* 14 bits */ - iv->val.uint16 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint16 = (uint16_t)((iv->val.uint16 << 7) | maskedOctets[k]); - } - if (negative) { - iv->val.int16 = (int16_t)( -( iv->val.uint16 + 1 )); - iv->type = EXI_INTEGER_16; - } else { - iv->type = EXI_UNSIGNED_INTEGER_16; - } - break; - case 3: /* 21 bits */ - case 4: /* 28 bits */ - iv->val.uint32 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint32 = (iv->val.uint32 << 7) | maskedOctets[k]; - } - if (negative) { - iv->val.int32 = (-(int32_t)(iv->val.uint32 + 1)); - if (iv->val.int32 <= INT16_MAX && iv->val.int32 >= INT16_MIN ) { - iv->type = EXI_INTEGER_16; - } else { - iv->type = EXI_INTEGER_32; - } - } else { - if (iv->val.uint32 <= UINT16_MAX) { - iv->type = EXI_UNSIGNED_INTEGER_16; - } else { - iv->type = EXI_UNSIGNED_INTEGER_32; - } - } - break; - case 5: /* 35 bits */ - case 6: /* 42 bits */ - case 7: /* 49 bits */ - case 8: /* 56 bits */ - case 9: /* 63 bits */ - case 10: /* 70 bits */ - iv->val.uint64 = 0; - for (k = i-1; k >= 0 ; k--) { - iv->val.uint64 = (iv->val.uint64 << 7) | maskedOctets[k]; - } - if (negative) { - if (i > 9) { - /* too large */ - return EXI_UNSUPPORTED_INTEGER_VALUE; - } - iv->val.int64 = (-(int64_t)(iv->val.uint64 + 1)); - if (iv->val.int64 <= INT32_MAX && iv->val.int64 >= INT32_MIN ) { - iv->type = EXI_INTEGER_32; - } else { - iv->type = EXI_INTEGER_64; - } - } else { - if (iv->val.uint64 <= UINT32_MAX) { - iv->type = EXI_UNSIGNED_INTEGER_32; - /* iv->val.uint32 = iv->val.uint64;*/ - } else { - iv->type = EXI_UNSIGNED_INTEGER_64; - } - } - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE; - break; - } - } - - return errn; -} - -int decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv) { - return _decodeUnsignedInteger(stream, iv, 0); -} - -int decodeUnsignedInteger16(bitstream_t* stream, uint16_t* uint16) { - unsigned int mShift = 0; - int errn = 0; - uint8_t b = 0; - *uint16 = 0; - - do { - /* 1. Read the next octet */ - errn = decode(stream, &b); - /* 2. Multiply the value of the unsigned number represented by the 7 - * least significant - * bits of the octet by the current multiplier and add the result to - * the current value */ - *uint16 = (uint16_t)(*uint16 + ((b & 127) << mShift)); - /* 3. Multiply the multiplier by 128 */ - mShift += 7; - /* 4. If the most significant bit of the octet was 1, go back to step 1 */ - } while (errn == 0 && (b >> 7) == 1); - - return errn; -} - -int decodeUnsignedInteger32(bitstream_t* stream, uint32_t* uint32) { - /* 0XXXXXXX ... 1XXXXXXX 1XXXXXXX */ - unsigned int mShift = 0; - int errn = 0; - uint8_t b = 0; - *uint32 = 0; - - do { - /* 1. Read the next octet */ - errn = decode(stream, &b); - /* 2. Multiply the value of the unsigned number represented by the 7 - * least significant - * bits of the octet by the current multiplier and add the result to - * the current value */ - *uint32 += (uint32_t)((b & 127) << mShift); - /* 3. Multiply the multiplier by 128 */ - mShift += 7; - /* 4. If the most significant bit of the octet was 1, go back to step 1 */ - } while (errn == 0 && (b >> 7) == 1); - - 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 - * indicate sequence termination. Only seven bits per octet are used to - * store the integer's value. - */ -int decodeUnsignedInteger64(bitstream_t* stream, uint64_t* uint64) { - unsigned int mShift = 0; - int errn = 0; - uint8_t b; - *uint64 = 0L; - - do { - errn = decode(stream, &b); - *uint64 += ((uint64_t) (b & 127)) << mShift; - mShift += 7; - } while (errn == 0 && (b >> 7) == 1); - - return errn; -} - - -void _reverseArray(uint8_t *array, int number) { - int x, t; - number--; - - for(x = 0; x < number; x ++, number --) { - t = array[x]; - array[x] = array[number]; - array[number] = t; - } -} - -/** - * 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. - */ -int decodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t* len) { - int errn = 0; - uint8_t b = 0; - unsigned int mShift1 = 0; - unsigned int mShift2 = 0; - unsigned int mShift3 = 0; - unsigned int mShift4 = 0; - unsigned int nBytesRead = 0; - unsigned int nBitsAvailable = 0; - uint64_t uint64_1 = 0; - uint64_t uint64_2 = 0; - uint64_t uint64_3 = 0; - uint64_t uint64_4 = 0; - - *len = 0; - - do { - errn = decode(stream, &b); - nBytesRead++; - nBitsAvailable += 7; - - if(nBytesRead <= 8) { - uint64_1 += ((uint64_t) (b & 127)) << mShift1; - mShift1 += 7; - } else if(nBytesRead <= 16) { - uint64_2 += ((uint64_t) (b & 127)) << mShift2; - mShift2 += 7; - } else if(nBytesRead <= 24) { - uint64_3 += ((uint64_t) (b & 127)) << mShift3; - mShift3 += 7; - } else if(nBytesRead <= 32) { - uint64_4 += ((uint64_t) (b & 127)) << mShift4; - mShift4 += 7; - } else { - return -1; /* too large */ - } - } while (errn == 0 && (b >> 7) == 1); - - /* shift actual data into array */ - if(uint64_4 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - - /* 7 octets for uint64_2 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 1 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 2 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 3 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 4 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 5 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 6 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 7 */ - - /* 7 octets for uint64_3 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 1 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 2 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 3 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 4 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 5 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 6 */ - uint64_3 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_3 & 0xFF); /* 7 */ - - /* remaining octets of uint64_4 */ - while (uint64_4 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_4 & 0xFF; - uint64_4 >>= 8; - } - } else if(uint64_3 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - - /* 7 octets for uint64_2 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 1 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 2 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 3 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 4 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 5 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 6 */ - uint64_2 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_2 & 0xFF); /* 7 */ - - /* remaining octets of uint64_3 */ - while (uint64_3 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_3 & 0xFF; - uint64_3 >>= 8; - } - - } else if(uint64_2 != 0) { - /* 7 octets for uint64_1 */ - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 1 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 2 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 3 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 4 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 5 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 6 */ - uint64_1 >>= 8; - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = (uint8_t)(uint64_1 & 0xFF); /* 7 */ - /* remaining octets of uint64_2 */ - while (uint64_2 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_2 & 0xFF; - uint64_2 >>= 8; - } - } else if(uint64_1 != 0) { - while (uint64_1 != 0 && errn == 0) { - if(*len >= size) { - return EXI_ERROR_OUT_OF_BOUNDS; - } - data[(*len)++] = uint64_1 & 0xFF; - uint64_1 >>= 8; - } - } - - _reverseArray(data, *len); - - return errn; -} - -int decodeInteger(bitstream_t* stream, exi_integer_t* iv) { - int b; - int errn = decodeBoolean(stream, &b); - if (errn == 0) { - errn = _decodeUnsignedInteger(stream, iv, b); - } - - return errn; -} - - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger16(bitstream_t* stream, int16_t* int16) { - int b; - uint16_t uint16; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(-(uint16 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger16(stream, &uint16); - *int16 = (int16_t)(uint16); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger32(bitstream_t* stream, int32_t* int32) { - int b; - uint32_t uint32; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger32(stream, &uint32); - *int32 = (-(int32_t)(uint32 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger32(stream, &uint32); - *int32 = (int32_t)(uint32); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeInteger64(bitstream_t* stream, int64_t* int64) { - int b; - uint64_t uint64; - int errn = decodeBoolean(stream, &b); - - if (errn == 0) { - if (b) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - errn = decodeUnsignedInteger64(stream, &uint64); - *int64 = (-(int64_t)(uint64 + 1)); - } else { - /* positive */ - errn = decodeUnsignedInteger64(stream, &uint64); - *int64 = (int64_t)(uint64); - } - } - - return errn; -} - -/** - * Decode an arbitrary precision integer using a sign bit followed by 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. - */ -int decodeIntegerBig(bitstream_t* stream, int* negative, size_t size, uint8_t* data, size_t* len) { - int errn = decodeBoolean(stream, negative); - - if (errn == 0) { - if (*negative) { - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - } else { - /* positive */ - } - errn = decodeUnsignedIntegerBig(stream, size, data, len); - } - - return errn; -} - -/** - * Decode a Float datatype as two consecutive Integers. - * The first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - */ -int decodeFloat(bitstream_t* stream, exi_float_me_t* f) { - int errn = decodeInteger64(stream, &f->mantissa); - if (errn == 0) { - errn = decodeInteger16(stream, &f->exponent); - } - return errn; -} - -/** - * Decode a decimal represented as a Boolean sign followed by two Unsigned - * Integers. A sign value of zero (0) is used to represent positive Decimal - * values and a sign value of one (1) is used to represent negative Decimal - * values The first Integer represents the integral portion of the Decimal - * value. The second positive integer represents the fractional portion of - * the decimal with the digits in reverse order to preserve leading zeros. - */ -int decodeDecimal(bitstream_t* stream, exi_decimal_t* d) { - int errn = decodeBoolean(stream, &d->negative); - if (errn == 0) { - errn = decodeUnsignedInteger(stream, &d->integral); - if (errn == 0) { - errn = decodeUnsignedInteger(stream, &d->reverseFraction); - } - } - - return errn; -} - -/** - * Decode a sequence of characters for a given length. - */ -int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s) { - int errn = 0; - unsigned int extraChar = 0; -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - extraChar = 1; /* null terminator */ -#endif /* STRING_REPRESENTATION_ASCII */ - - if ( (len + extraChar) > s->size) { -#if MEMORY_ALLOCATION == STATIC_ALLOCATION - errn = EXI_ERROR_OUT_OF_STRING_BUFFER; -#endif /* STATIC_ALLOCATION */ -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION - if(s->size > 0) { - errn = exiFreeDynamicStringMemory(s); - if(errn) { - return errn; - } - } - errn = exiAllocateDynamicStringMemory(s, (len + extraChar)); /*s->len*/ -#endif /* DYNAMIC_ALLOCATION */ - } - if(errn == 0) { - errn = decodeCharacters(stream, len, s->characters, s->size); - s->len = len; - } - - return errn; -} - -/** - * Decode a length prefixed sequence of characters. - */ -int decodeString(bitstream_t* stream, exi_string_t* s) { - int errn = decodeUnsignedIntegerSizeT(stream, &s->len); - if (errn == 0) { - errn = decodeStringOnly(stream, s->len, s); - } - 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, size_t len, exi_string_character_t* chars, size_t charsSize) { - unsigned int i; - 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; - for (i = 0; i < len && errn == 0; i++) { - errn = decode(stream, &b); - if(b < 128) { - chars[i] = (exi_string_character_t)b; - } else { - errn = EXI_ERROR_STRINGVALUES_CHARACTER; - } - } - /* null terminator \0 */ - chars[i] = '\0'; - -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - for (i = 0; i < len && errn == 0; i++) { - errn = decodeUnsignedInteger32(stream, &chars[i]); - } -#endif /* STRING_REPRESENTATION_UCS */ - - - - - return errn; -} - -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; - 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++) { - errn = decodeNBitUnsignedInteger(stream, rcsCodeLength, &uint32); - if(errn == 0) { - if ( uint32 == rcsSize ) { - /* RCS deviation */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - errn = decode(stream, &b); - if(b < 128) { - chars[i] = (exi_string_character_t)b; - } else { - errn = EXI_ERROR_STRINGVALUES_CHARACTER; - } -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - errn = decodeUnsignedInteger32(stream, &chars[i]); -#endif /* STRING_REPRESENTATION_UCS */ - - } else { - /* RCS match */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - chars[i] = rcsSet[uint32]; -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - chars[i] = rcsSet[uint32]; -#endif /* STRING_REPRESENTATION_UCS */ - } - } - } - - return errn; -} - - -/** - * Decode a binary value as a length-prefixed sequence of octets. - */ -int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes) { - int errn = decodeUnsignedIntegerSizeT(stream, &bytes->len); - if (errn == 0) { - if (bytes->len > bytes->size) { -#if MEMORY_ALLOCATION == STATIC_ALLOCATION - errn = EXI_ERROR_OUT_OF_BYTE_BUFFER; -#endif /* STATIC_ALLOCATION */ -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION - errn = exiFreeDynamicBinaryMemory(bytes); - if(errn == 0) { - errn = exiAllocateDynamicBinaryMemory(bytes, bytes->len); - } -#endif /* DYNAMIC_ALLOCATION */ - } - - errn = decodeBytes(stream, bytes->len, bytes->data); - } - - return errn; -} - - -int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data) { - unsigned int i; - int errn = 0; - uint8_t b = 0; - - for (i = 0; i < len && errn == 0; i++) { - errn = decode(stream, &b); - data[i] = (uint8_t)b; - } - - return errn; -} - -/** - * Decode Date-Time as sequence of values representing the individual - * components of the Date-Time. - */ -int decodeDateTime(bitstream_t* stream, exi_datetime_type_t type, exi_datetime_t* datetime) { - int errn = 0; - - datetime->type = type; - - datetime->year = 0; - datetime->monthDay = 0; - datetime->time = 0; - datetime->presenceFractionalSecs = 0; - datetime->fractionalSecs = 0; - datetime->presenceTimezone = 0; - datetime->timezone = 0; - - switch (type) { - case EXI_DATETIME_GYEAR: /* Year, [Time-Zone] */ - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - } - break; - case EXI_DATETIME_GYEARMONTH: /* Year, MonthDay, [TimeZone] */ - case EXI_DATETIME_DATE: - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay); - } - break; - case EXI_DATETIME_DATETIME: /* Year, MonthDay, Time, [FractionalSecs], [TimeZone] */ - /* e.g. "0001-01-01T00:00:00.111+00:33" */ - errn = decodeInteger32(stream, &datetime->year); - if (errn == 0) { - datetime->year += DATETIME_YEAR_OFFSET; - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay); - if (errn != 0) { - break; - } - } - /* no break */ - case EXI_DATETIME_TIME: /* Time, [FractionalSecs], [TimeZone] */ - /* e.g. "12:34:56.135" */ - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIME, &datetime->time); - if (errn == 0) { - errn = decodeBoolean(stream, &datetime->presenceFractionalSecs); - if (errn == 0) { - if (datetime->presenceFractionalSecs) { - errn = decodeUnsignedInteger32(stream, &datetime->fractionalSecs); - } - } - } - break; - case EXI_DATETIME_GMONTH: /* MonthDay, [TimeZone] */ - /* e.g. "--12" */ - case EXI_DATETIME_GMONTHDAY: /* MonthDay, [TimeZone] */ - /* e.g. "--01-28" */ - case EXI_DATETIME_GDAY: /* MonthDay, [TimeZone] */ - /* "---16" */ - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, &datetime->monthDay ); - break; - default: - errn = EXI_UNSUPPORTED_DATETIME_TYPE; - break; - } - - if(errn == 0) { - errn = decodeBoolean(stream, &datetime->presenceTimezone ); - if (errn == 0 && datetime->presenceTimezone) { - errn = decodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIMEZONE, &datetime->timezone); - datetime->timezone -= DATETIME_TIMEZONE_OFFSET_IN_MINUTES; - } - } - - 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 deleted file mode 100644 index 5b43412..0000000 --- a/src/codec/DecoderChannel.h +++ /dev/null @@ -1,441 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file DecoderChannel.h - * \brief EXI Decoder Channel - * - */ - -#ifndef DECODER_CHANNEL_H -#define DECODER_CHANNEL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXIOptions.h" -#include "EXITypes.h" - -/** - * \brief Decode byte value - * - * \param stream Input Stream - * \param b byte (out) - * \return Error-Code <> 0 - * - */ -int decode(bitstream_t* stream, uint8_t* b); - - -/** - * \brief Decode boolean - * - * Decode a single boolean value. The value false is - * represented by 0, and the value true is represented by 1. - * - * \param stream Input Stream - * \param b boolean (out) - * \return Error-Code <> 0 - * - */ -int decodeBoolean(bitstream_t* stream, int* b); - - -/** - * \brief Decode n-bit unsigned integer - * - * Decodes and returns an n-bit unsigned integer. - * - * \param stream Input Stream - * \param nbits Number of bits - * \param uint32 Value (out) - * \return Error-Code <> 0 - * - */ -int decodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, 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 iv Unsigned Integer Value (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \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 uint16 Unsigned Integer Value 16 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger16(bitstream_t* stream, uint16_t* uint16); - - -/** - * \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 uint32 Unsigned Integer Value 32 bits (out) - * \return Error-Code <> 0 - * - */ -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 - * - * 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 uint64 Unsigned Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeUnsignedInteger64(bitstream_t* stream, uint64_t* uint64); - -/** - * \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 size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int decodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t* len); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 iv Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int16 Integer Value 16 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger16(bitstream_t* stream, int16_t* int16); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int32 Integer Value 32 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger32(bitstream_t* stream, int32_t* int32); - - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 int64 Integer Value 64 bits (out) - * \return Error-Code <> 0 - * - */ -int decodeInteger64(bitstream_t* stream, int64_t* int64); - -/** - * \brief Decode integer - * - * Decode an arbitrary precision integer using a sign bit - * followed by 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 negative negative integer - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int decodeIntegerBig(bitstream_t* stream, int* negative, size_t size, uint8_t* data, size_t* len); - -/** - * \brief Decode float - * - * Decode a Float datatype as two consecutive Integers. The - * first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - * - * \param stream Input Stream - * \param f Float Value (out) - * \return Error-Code <> 0 - * - */ -int decodeFloat(bitstream_t* stream, exi_float_me_t* f); - - -/** - * \brief Decode decimal - * - * Decode a decimal represented as a Boolean sign followed by two - * Unsigned Integers. A sign value of zero (0) is used to represent - * positive Decimal values and a sign value of one (1) is used to - * represent negative Decimal values The first Integer represents - * the integral portion of the Decimal value. The second positive - * integer represents the fractional portion of the decimal with - * the digits in reverse order to preserve leading zeros. - * - * \param stream Input Stream - * \param d Decimal Value (out) - * \return Error-Code <> 0 - * - */ -int decodeDecimal(bitstream_t* stream, exi_decimal_t* d); - - -/** - * \brief Decode String (no length prefix) - * - * Decode a sequence of characters for a given length. - * - * \param stream Input Stream - * \param len Characters length - * \param s String Value (out) - * \return Error-Code <> 0 - * - */ -int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s); - - -/** - * \brief Decode String - * - * Decode a length prefixed sequence of characters. - * - * \param stream Input Stream - * \param s String Value (out) - * \return Error-Code <> 0 - * - */ -int decodeString(bitstream_t* stream, exi_string_t* s); - - - -/** - * \brief Decode String value - * - * Decode a length prefixed sequence of characters in the sense of string tables. - * length == 0: local value partition hit. - * length == 1: global value partition hit. - * length > 1: string literal is encoded as a String with the length incremented by two - * - * \param stream Input Stream - * \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_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 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_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* s); - - -/** - * \brief Decode characters - * - * Decode a sequence of characters according to a given length. - * - * \param stream Input Stream - * \param len Length - * \param chars Characters (out) - * \param charsSize Size of possible characters - * \return Error-Code <> 0 - * - */ -int decodeCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize); - - -/** - * \brief Decode restricted character set characters - * - * Decode a sequence of characters according to a given length and rcs code-length, size and set. - * - * \param stream Input Stream - * \param len Length - * \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, size_t len, exi_string_character_t* chars, size_t charsSize, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]); - - - -/** - * \brief Decode Binary - * - * Decode a binary value as a length-prefixed sequence of octets. - * - * \param stream Input Stream - * \param bytes Bytes (out) - * \return Error-Code <> 0 - * - */ -int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes); - -/** - * \brief Decode Binary data - * - * Decode a sequence of octets. - * - * \param stream Input Stream - * \param len Length - * \param data Bytes (out) - * \return Error-Code <> 0 - * - */ -int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data); - -/** - * \brief Decode DateTime - * - * Decode Date-Time as sequence of values representing the - * individual components of the Date-Time. - * - * \param stream Input Stream - * \param type Datetime type - * \param datetime Datetime (out) - * \return Error-Code <> 0 - * - */ -int decodeDateTime(bitstream_t* stream, exi_datetime_type_t type, exi_datetime_t* datetime); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/EXIConfig.h b/src/codec/EXIConfig.h deleted file mode 100644 index edbb2dc..0000000 --- a/src/codec/EXIConfig.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-23 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIConfig.h - * \brief EXI Configurations for the EXI Codec - * - */ - -#ifndef EXI_CONFIG_H -#define EXI_CONFIG_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/** EXI stream - Option Byte Array */ -#define BYTE_ARRAY 1 -/** EXI stream - Option File */ -#define FILE_STREAM 2 -/** \brief EXI stream - * - * Byte array or file - * */ -#define EXI_STREAM BYTE_ARRAY - - - - - -/** Memory allocation - static */ -#define STATIC_ALLOCATION 1 -/** Memory allocation - dynamic */ -#define DYNAMIC_ALLOCATION 2 -/** */ -/** \brief Memory allocation mode - * - * static or dynamic memory allocation - * */ -#define MEMORY_ALLOCATION STATIC_ALLOCATION - - - -/** String representation ASCII */ -#define STRING_REPRESENTATION_ASCII 1 -/** String representation Universal Character Set (UCS) */ -#define STRING_REPRESENTATION_UCS 2 -/** */ -/** \brief String representation mode - * - * ASCII or UCS - * */ -#define STRING_REPRESENTATION STRING_REPRESENTATION_UCS - - -/* in the case of ASCII an extra char (null terminator) for printf and other functions is useful */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII -#define EXTRA_CHAR 1 -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS -#define EXTRA_CHAR 0 -#endif /* STRING_REPRESENTATION_UCS */ - - - - - -/** Maximum number of cascading elements, XML tree depth */ -#define EXI_ELEMENT_STACK_SIZE 24 - - -#ifdef __cplusplus -} -#endif - -#endif /* EXI_CONFIG_H */ - diff --git a/src/codec/EXIHeaderDecoder.c b/src/codec/EXIHeaderDecoder.c deleted file mode 100644 index 5d48cb9..0000000 --- a/src/codec/EXIHeaderDecoder.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EXIHeaderDecoder.h" -#include "BitInputStream.h" -#include "DecoderChannel.h" -#include "ErrorCodes.h" - -#ifndef EXI_HEADER_DECODER_C -#define EXI_HEADER_DECODER_C - -int readEXIHeader(bitstream_t* stream) { - int errn; - uint32_t header = 0; - - /* init stream */ - stream->buffer = 0; - stream->capacity = 0; - - errn = readBits(stream, 8, &header); - if (errn == 0) { - if(header == '$') { - /* we do not support "EXI Cookie" */ - errn = EXI_UNSUPPORTED_HEADER_COOKIE; - } else if ( header & 0x20 ) { - /* we do not support "Presence Bit for EXI Options" */ - errn = EXI_UNSUPPORTED_HEADER_OPTIONS; - } else { - /* Yes, a *simple* header */ - errn = 0; - } - } - - return errn; -} - - -#endif - - diff --git a/src/codec/EXIHeaderDecoder.h b/src/codec/EXIHeaderDecoder.h deleted file mode 100644 index 37136d0..0000000 --- a/src/codec/EXIHeaderDecoder.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIHeaderDecoder.h - * \brief EXI Header Decoder - * - */ - -#ifndef EXI_HEADER_DECODER_H -#define EXI_HEADER_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - -/** - * \brief Reads EXI header - * - * \param stream Input Stream - * \return Error-Code <> 0 - * - */ -int readEXIHeader(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/EXIHeaderEncoder.c b/src/codec/EXIHeaderEncoder.c deleted file mode 100644 index 36c7851..0000000 --- a/src/codec/EXIHeaderEncoder.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EXIHeaderEncoder.h" -#include "BitOutputStream.h" -#include "EncoderChannel.h" - -#ifndef EXI_HEADER_ENCODER_C -#define EXI_HEADER_ENCODER_C - -int writeEXIHeader(bitstream_t* stream) { - /* init stream */ - stream->buffer = 0; - stream->capacity = 8; - - return writeBits(stream, 8, 128); -} - - -#endif - - diff --git a/src/codec/EXIHeaderEncoder.h b/src/codec/EXIHeaderEncoder.h deleted file mode 100644 index e7cf0d3..0000000 --- a/src/codec/EXIHeaderEncoder.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIHeaderEncoder.h - * \brief EXI Header Encoder - * - */ - -#ifndef EXI_HEADER_ENCODER_H -#define EXI_HEADER_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - - -/** - * \brief Writes EXI header - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int writeEXIHeader(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/EXIOptions.h b/src/codec/EXIOptions.h deleted file mode 100644 index 9156746..0000000 --- a/src/codec/EXIOptions.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \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 deleted file mode 100644 index 9b2bdf8..0000000 --- a/src/codec/EXITypes.h +++ /dev/null @@ -1,591 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXITypes.h - * \brief Basic type definitions and structs - * - */ - -#ifndef EXI_TYPES_H -#define EXI_TYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include "EXIConfig.h" -#if EXI_STREAM == FILE_STREAM -#include -#endif - - -/** Number of bits for each byte */ -#define BITS_IN_BYTE 8 - -/** EXI Date-Time offset for year */ -#define DATETIME_YEAR_OFFSET 2000 -/** EXI Date-Time number of bits for monthDay */ -#define DATETIME_NUMBER_BITS_MONTHDAY 9 -/** EXI Date-Time number of bits for time */ -#define DATETIME_NUMBER_BITS_TIME 17 -/** EXI Date-Time number of bits for timezone */ -#define DATETIME_NUMBER_BITS_TIMEZONE 11 -/** EXI Date-Time month multiplicator */ -#define DATETIME_MONTH_MULTIPLICATOR 32 -/** EXI Date-Time offset for timzone minutes */ -#define DATETIME_TIMEZONE_OFFSET_IN_MINUTES 896 - -/** Maximum integer value for uint */ -#define UINT_MAX_VALUE 65535 - - -/** EXI Float exponent special values */ -#define FLOAT_EXPONENT_SPECIAL_VALUES -16384 -/** EXI Float mantissa infinity */ -#define FLOAT_MANTISSA_INFINITY 1 -/** EXI Float minus mantissa infinity */ -#define FLOAT_MANTISSA_MINUS_INFINITY -1 -/** EXI Float not a number */ -#define FLOAT_MANTISSA_NOT_A_NUMBER 0 - -/** \brief EXI Events */ -typedef enum { - /** Start Document SD */ - EXI_EVENT_START_DOCUMENT, - /** End Document ED */ - EXI_EVENT_END_DOCUMENT, - /** Start Element SE(qname) */ - EXI_EVENT_START_ELEMENT, - /** Start Element SE(uri:*) */ - EXI_EVENT_START_ELEMENT_NS, - /** Start Element SE(*) generic */ - EXI_EVENT_START_ELEMENT_GENERIC, - /** Start Element SE(*) generic undeclared */ - EXI_EVENT_START_ELEMENT_GENERIC_UNDECLARED, - /** End Element EE */ - EXI_EVENT_END_ELEMENT, - /** End Element EE undeclared*/ - EXI_EVENT_END_ELEMENT_UNDECLARED, - /** Characters CH */ - EXI_EVENT_CHARACTERS, - /** Characters CH generic */ - EXI_EVENT_CHARACTERS_GENERIC, - /** Characters CH generic undeclared */ - EXI_EVENT_CHARACTERS_GENERIC_UNDECLARED, - /** Attribute AT(xsi:type) */ - EXI_EVENT_ATTRIBUTE_XSI_TYPE, - /** Attribute AT(xsi:nil) */ - EXI_EVENT_ATTRIBUTE_XSI_NIL, - /** Attribute AT(qname) */ - EXI_EVENT_ATTRIBUTE, - /** Attribute AT(uri:*) */ - EXI_EVENT_ATTRIBUTE_NS, - /** Attribute AT(*) generic */ - EXI_EVENT_ATTRIBUTE_GENERIC, - /** Attribute AT(*) invalid value */ - EXI_EVENT_ATTRIBUTE_INVALID_VALUE, - /** Attribute AT(*) any invalid value */ - EXI_EVENT_ATTRIBUTE_ANY_INVALID_VALUE, - /** Attribute AT(*) generic undeclared */ - EXI_EVENT_ATTRIBUTE_GENERIC_UNDECLARED, - /* error state */ - EXI_EVENT_ERROR -} exi_event_t; - - -/** - * \brief Bit stream container - * - * Structure for byteArray/file stream. - * - * # General - * .size defines the maximum size of the byte array (see .data) - * - * .data points to the input/output array of bytes (unsigned char*). - * - * .pos has to be set to an pointer to an 32 bit long unsigned integer (uint32_t *) - * as this variable is read/write. - * Therefore it is best practice to declare the variable itself and use the &-operator - * to assign the address. The value of that variable points to the position inside the - * buffer where the stream begins. Which is usually the first (0th) byte but can also be - * another value if there more information transferred in that stream. - * After processing .pos points to the next "available" byte (if any left). - * - * .buffer has to be set to 0 for internal use only (single byte buffer) - * - * # Receiving data (input) - * .capacity is used for addressing single bits in the actual byte (see .buffer) - * and has to be set to 0, which means there are 0 bits read so far and a new - * byte needs to be read from the input stream/data-array to the current byte buffer. - * - * # Sending data (output) - * .capacity is used for addressing single bits in the actual byte (see .buffer) - * and has to be set to 8, which means there are still 8 bits left to fill up - * the current byte buffer before writing the final byte to the output stream/data-array. - * - */ -typedef struct { -#if EXI_STREAM == BYTE_ARRAY - /** byte array size */ - size_t size; - /** byte array data */ - uint8_t* data; - /** byte array next position in array */ - size_t* pos; -#endif -#if EXI_STREAM == FILE_STREAM - /** file pointer */ - FILE *file; -#endif - /** Current byte buffer*/ - uint8_t buffer; - /** Remaining bit capacity in current byte buffer*/ - uint8_t capacity; -} bitstream_t; - - -/** \brief EXI Value Datatypes */ -typedef enum { - /** Binary Base64 */ - EXI_DATATYPE_BINARY_BASE64, - /** Binary Hex */ - EXI_DATATYPE_BINARY_HEX, - /** Boolean */ - EXI_DATATYPE_BOOLEAN, - /** Boolean with Facets */ - EXI_DATATYPE_BOOLEAN_FACET, - /** Decimal */ - EXI_DATATYPE_DECIMAL, - /** Float & Double */ - EXI_DATATYPE_FLOAT, - /** N-Bit Unsigned Integer */ - EXI_DATATYPE_NBIT_UNSIGNED_INTEGER, - /** Unsigned Integer */ - EXI_DATATYPE_UNSIGNED_INTEGER, - /** (Signed) Integer */ - EXI_DATATYPE_INTEGER, - /** Datetime */ - EXI_DATATYPE_DATETIME, - /** String */ - EXI_DATATYPE_STRING, - /** Restricted Character Set String */ - EXI_DATATYPE_RCS_STRING, - /** Enumeration */ - EXI_DATATYPE_ENUMERATION, - /** List */ - EXI_DATATYPE_LIST, - /** QName (e.g. xsi:type) */ - EXI_DATATYPE_QNAME -} exi_datatype_t; - - -/** \brief EXI Integer Value types */ -typedef enum { - /** Unsigned Integer 8 bits */ - EXI_UNSIGNED_INTEGER_8, - /** Unsigned Integer 16 bits */ - EXI_UNSIGNED_INTEGER_16, - /** Unsigned Integer 32 bits */ - EXI_UNSIGNED_INTEGER_32, - /** Unsigned Integer 64 bits */ - EXI_UNSIGNED_INTEGER_64, - /** (Signed) Integer 8 bits */ - EXI_INTEGER_8, - /** (Signed) Integer 16 bits */ - EXI_INTEGER_16, - /** (Signed) Integer 32 bits */ - EXI_INTEGER_32, - /** (Signed) Integer 64 bits */ - EXI_INTEGER_64 -} exi_integer_type_t; - - -/** \brief EXI Datetime types */ -typedef enum { - /** gYear */ - EXI_DATETIME_GYEAR, - /** gYearMonth */ - EXI_DATETIME_GYEARMONTH, - /** date */ - EXI_DATETIME_DATE, - /** datetime */ - EXI_DATETIME_DATETIME, - /** gMonth */ - EXI_DATETIME_GMONTH, - /** gMonthDay */ - EXI_DATETIME_GMONTHDAY, - /** gDay */ - EXI_DATETIME_GDAY, - /** time */ - EXI_DATETIME_TIME -} exi_datetime_type_t; - - -/** \brief String value type */ -typedef enum { - /** value miss */ - EXI_STRING_VALUE_MISS, - /** value local-hit */ - EXI_STRING_VALUE_LOCAL_HIT, - /** value global-hit */ - EXI_STRING_VALUE_GLOBAL_HIT -} exi_string_value_type_t; - -/** \brief EXI string character */ -/* Note: define whether you wan't to support ASCII only or UCS */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII -typedef char exi_string_character_t; -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS -typedef uint32_t exi_string_character_t; -#endif /* STRING_REPRESENTATION_UCS */ - - - -/** \brief Universal Character Set (UCS) strings */ -typedef struct { - /** container size */ - size_t size; - /** string character container */ - exi_string_character_t* characters; - /** current string length == number of code-points, (len <= size) */ - size_t len; -} exi_string_t; - - -/** \brief String value */ -typedef struct { - /** value type (e.g., miss, local-hit, global-hit) */ - exi_string_value_type_t type; - /** miss entry */ - exi_string_t miss; - /** (local) hit entry */ - size_t localID; - /** (global) hit entry */ - size_t globalID; -} exi_string_value_t; - - -/** \brief Restricted Characeter Set */ -typedef struct { - /** size */ - size_t size; - /** rcs codepoints */ - exi_string_character_t* characters; - /** character coding length (less than 256 characters) */ - uint8_t codingLength; -} exi_rcs_t; - - -/** \brief Byte value container */ -typedef struct { - /** bytes array size */ - size_t size; - /** bytes array data container */ - uint8_t* data; - /** bytes array length (len <= size) */ - size_t len; -} exi_bytes_t; - - -/** \brief Integer value container */ -typedef struct { - /** type */ - exi_integer_type_t type; - union { - /* (signed) values */ - /** (signed) int 8 bits */ - int8_t int8; - /** (signed) int 16 bits */ - int16_t int16; - /** (signed) int 32 bits */ - int32_t int32; - /** (signed) int 64 bits */ - int64_t int64; - /* unsigned values */ - /** unsigned int 8 bits */ - uint8_t uint8; - /** unsigned int 16 bits */ - uint16_t uint16; - /** unsigned int 32 bits */ - uint32_t uint32; - /** unsigned int 64 bits */ - uint64_t uint64; - } val; -} exi_integer_t; - - -/** \brief Float value container */ -typedef struct { - /** range of the mantissa is -(2^63) to 2^63-1 */ - int64_t mantissa; - /** range of the exponent is - (2^14-1) to 2^14-1 */ - int16_t exponent; /* base-10 */ -} exi_float_me_t; - - -/** \brief Decimal value container */ -typedef struct { - /** a sign value */ - int negative; - /** represents the integral portion of the Decimal */ - exi_integer_t integral; - /** represents the fractional portion of the Decimal with the digits in reverse order to preserve leading zeros */ - exi_integer_t reverseFraction; -} exi_decimal_t; - - -/** \brief Datetime value container */ -typedef struct { - /** datetime type */ - exi_datetime_type_t type; - /** Datetime value for year */ - int32_t year; - /** Datetime value for monthDay */ - uint32_t monthDay; - /** Datetime value for time */ - uint32_t time; - /** Datetime value for presenceFractionalSecs */ - int presenceFractionalSecs; - /** Datetime value for fractionalSecs */ - uint32_t fractionalSecs; - /** Datetime value for presenceTimezone */ - int presenceTimezone; - /** Datetime value for timezone */ - uint32_t timezone; -} exi_datetime_t; - - -/** \brief List value container */ -typedef struct { - /** list item type */ - exi_datatype_t type; - /** number of items */ - size_t len; - /* Special datatype: integer */ - /* exi_integer_type_t intType;*/ - /** Special datatype: datetime */ - exi_datetime_type_t datetimeType; -} exi_list_t; - - -/** \brief Efficient qname */ -typedef struct { - /** namespace URI ID*/ - size_t namespaceURI; - /** local name ID*/ - size_t localPart; -} exi_eqname_t; - - -/** \brief Name entry type */ -typedef enum { - /** As known IDs */ - EXI_NAME_ENTRY_TYPE_ID, - /** As String */ - EXI_NAME_ENTRY_TYPE_STRING_AND_ID -} exi_name_entry_type_t; - - -/** \brief Name entry */ -typedef struct { - /** type */ - exi_name_entry_type_t type; - /** entry ID */ - size_t id; - /** entry string */ - exi_string_t str; -} exi_name_entry_t; - - -/** \brief Qualified name */ -typedef struct { - /** Uri */ - exi_name_entry_t uri; - /** LocalName */ - exi_name_entry_t localName; -} exi_qname_t; - -/*TODO Doxygen Documentation */ - - -/* ==================================== */ -/* URI and LocalName Entries */ -typedef struct exiNameTablePrepopulated { - /* number of namespaces AND length name-partitions array */ - size_t len; - /* number of localName entries divided by URI */ - size_t* localNames; -} exi_name_table_prepopulated_t; - -#define EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES 25 - -typedef enum { - EXI_NAME_PARTITION_URI, EXI_NAME_PARTITION_LOCALNAME -} exi_name_partition_type_t; - -typedef struct { - char* uri; - size_t uriID; -} exi_uri_partition_t; - -typedef struct { - char* localName; - size_t localNameID; - size_t uriID; -} exi_localname_partition_t; - -typedef struct { - exi_name_partition_type_t namePartitionType; - struct { - exi_uri_partition_t uriPartition; - exi_localname_partition_t localNamePartition; - } entry; -} exi_name_partition_t; - -typedef struct exiNameTableRuntime { - /* maximum number of characters in the name partitions entries PLUS null terminators */ - /* char characters[EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_CHARACTERS + EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES]; */ - /* uint16_t numberOfUsedCharacters; *//* initially zero <= EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_CHARACTERS */ - /* maximum number of name partitions entries. Name partitions entries consist in all uri, and local-name partition entries */ - exi_name_partition_t - namePartitionsEntries[EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES]; - /* uint16_t numberOfUsedNamePartitions; *//* initially zero */ - /* added entries */ - 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 { - size_t namespaceUriID; - size_t localNameID; - size_t numberOfProductions; - int hasXsiType; /* StartTagContent only */ - int hasEE; /* ElementContentper default TRUE */ -} exi_runtime_element_t; - -/* Note: We do have twice as many runtime grammars (StartTagContent and ElementContent)*/ -#define MAX_NUMBER_OF_RUNTIME_ELEMENTS 80 - - - -/* ==================================== */ -/* Value string table */ -typedef struct exiValueStringTableEntry { - /** Qualified namespace URI */ - size_t namespaceUriID; - /** Qualified localName */ - size_t localNameID; - /** Local Value ID */ - 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 */ - size_t size; - /** string table entry array container */ - exi_value_string_table_entry_t* strs; - /** current number of string table entries (len <= size) */ - size_t len; -} exi_value_string_table_t; - -/* typedef struct { */ - /** number of global strings */ - /* uint16_t numberOfGlobalStrings; */ - /** size of local-names container */ - /* uint16_t sizeLocalStrings; */ - /** number of local strings container */ - /* uint16_t* numberOfLocalStrings; */ - /** string values */ -/* 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 */ - exi_eqname_t elementStack[EXI_ELEMENT_STACK_SIZE]; - /** stack index for both stacks */ - size_t stackIndex; - - /** event-code */ - uint32_t eventCode; - - /** name table entries, pre-populated */ - exi_name_table_prepopulated_t* nameTablePrepopulated; - /** name table entries, at runtime */ - exi_name_table_runtime_t* nameTableRuntime; - - /** next qname ID */ - size_t nextQNameID; - - /** string table entries */ - exi_value_string_table_t* stringTable; - - /** runtime built-in element grammars - numbers */ - size_t numberOfRuntimeGrammars; - /** runtime built-in element grammars */ - exi_runtime_element_t runtimeGrammars[MAX_NUMBER_OF_RUNTIME_ELEMENTS * 2]; -} exi_state_t; - -typedef struct { - /* type of value */ - exi_datatype_t type; - - /* base types */ - int boolean; - uint32_t enumeration; - - /* complex types: Integers, Bytes, Strings and Lists are not native types anymore */ - exi_integer_t integer; - exi_bytes_t binary; - exi_string_value_t str; - exi_float_me_t float_me; - exi_decimal_t decimal; - exi_datetime_t datetime; - exi_list_t list; - exi_eqname_t eqname; -} exi_value_t; - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/EncoderChannel.c b/src/codec/EncoderChannel.c deleted file mode 100644 index 72a66a4..0000000 --- a/src/codec/EncoderChannel.c +++ /dev/null @@ -1,704 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EncoderChannel.h" -#include "EXIOptions.h" -#include "BitOutputStream.h" -#include "EXITypes.h" -#include "ErrorCodes.h" -#include "MethodsBag.h" -/*#include "v2gEXICoder.h"*/ - -#ifndef ENCODER_CHANNEL_C -#define ENCODER_CHANNEL_C - -int encodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv) { - int errn = 0; - switch (iv->type) { - /* Unsigned Integer */ - case EXI_UNSIGNED_INTEGER_8: - errn = encodeUnsignedInteger32(stream, iv->val.uint8); - break; - case EXI_UNSIGNED_INTEGER_16: - errn = encodeUnsignedInteger32(stream, iv->val.uint16); - break; - case EXI_UNSIGNED_INTEGER_32: - errn = encodeUnsignedInteger32(stream, iv->val.uint32); - break; - case EXI_UNSIGNED_INTEGER_64: - errn = encodeUnsignedInteger64(stream, iv->val.uint64); - break; - /* (Signed) Integer */ - case EXI_INTEGER_8: - if (iv->val.int8 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int8)); - break; - case EXI_INTEGER_16: - if (iv->val.int16 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int16)); - break; - case EXI_INTEGER_32: - if (iv->val.int32 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger32(stream, (uint32_t)(iv->val.int32)); - break; - case EXI_INTEGER_64: - if (iv->val.int64 < 0) { - return EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE; - } - errn = encodeUnsignedInteger64(stream, (uint64_t)(iv->val.int64)); - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE_TYPE; - break; - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger16(bitstream_t* stream, uint16_t n) { - int errn = 0; - if (n < 128) { - /* write byte as is */ - errn = encode(stream, (uint8_t) n); - } else { - uint8_t n7BitBlocks = numberOf7BitBlocksToRepresent(n); - - switch (n7BitBlocks) { - case 3: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 2: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 1: - /* 0 .. 7 (last byte) */ - errn = encode(stream, (uint8_t) (0 | n)); - /* no break */ - } - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger32(bitstream_t* stream, uint32_t n) { - int errn = 0; - if (n < 128) { - /* write byte as is */ - errn = encode(stream, (uint8_t) n); - } else { - uint8_t n7BitBlocks = numberOf7BitBlocksToRepresent(n); - - switch (n7BitBlocks) { - case 5: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 4: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 3: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 2: - errn = encode(stream, (uint8_t) (128 | n)); - n = n >> 7; - if (errn != 0) { - break; - } - /* no break */ - case 1: - /* 0 .. 7 (last byte) */ - errn = encode(stream, (uint8_t) (0 | n)); - /* no break */ - } - } - - return errn; -} - -/** - * Encode 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. - */ -int encodeUnsignedInteger64(bitstream_t* stream, uint64_t n) { - int errn = 0; - uint8_t lastEncode = (uint8_t) n; - n >>= 7; - - while (n != 0 && errn == 0) { - errn = encode(stream, lastEncode | 128); - lastEncode = (uint8_t) n; - n >>= 7; - } - - if (errn == 0) { - errn = encode(stream, lastEncode); - } - - return errn; -} - -void _shiftRight7(uint8_t* buf, int len) { - const int shift = 7; - unsigned char tmp = 0x00, tmp2 = 0x00; - for (int k = 0; k <= len; k++) { - if (k == 0) { - tmp = buf[k]; - buf[k] >>= shift; - } else { - tmp2 = buf[k]; - buf[k] >>= shift; - buf[k] |= ((tmp & 0x7F) << (8 - shift)); - - if (k != len) { - tmp = tmp2; - } - } - } -} - -/** - * Encode 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. - */ -int encodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t len) { - int errn = 0; - int i; - int lenM1 = len - 1; - const int MAX_BIGINT_ARRAY = 25; - uint8_t lastEncode = 0; - uint8_t bytesToShift[MAX_BIGINT_ARRAY]; // MAXIMUM - size_t bitsToEncode = len * 8; - - if(MAX_BIGINT_ARRAY <= len) { - return -1; - } - - /* init */ - for(i=0; i 7) { - lastEncode = bytesToShift[lenM1]; - lastEncode = lastEncode | 128; - errn = encode(stream, lastEncode); - _shiftRight7(bytesToShift, len); - bitsToEncode -= 7; - } - - if (errn == 0) { - errn = encode(stream, bytesToShift[lenM1]); - } - - return errn; -} - -int encodeInteger(bitstream_t* stream, exi_integer_t* iv) { - int errn = 0; - switch (iv->type) { - /* Unsigned Integer */ - case EXI_UNSIGNED_INTEGER_8: - errn = encodeInteger32(stream, iv->val.uint8); - break; - case EXI_UNSIGNED_INTEGER_16: - errn = encodeInteger32(stream, iv->val.uint16); - break; - case EXI_UNSIGNED_INTEGER_32: - errn = encodeInteger64(stream, iv->val.uint32); - break; - case EXI_UNSIGNED_INTEGER_64: - errn = encodeInteger64(stream, (int64_t)(iv->val.uint64)); - break; - /* (Signed) Integer */ - case EXI_INTEGER_8: - errn = encodeInteger32(stream, iv->val.int8); - break; - case EXI_INTEGER_16: - errn = encodeInteger32(stream, iv->val.int16); - break; - case EXI_INTEGER_32: - errn = encodeInteger32(stream, iv->val.int32); - break; - case EXI_INTEGER_64: - errn = encodeInteger64(stream, iv->val.int64); - break; - default: - errn = EXI_UNSUPPORTED_INTEGER_VALUE_TYPE; - break; - } - - return errn; -} - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger16(bitstream_t* stream, int16_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (int16_t)((-n) - 1); - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)n); - } - return errn; -} - - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger32(bitstream_t* stream, int32_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (-n) - 1; - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger32(stream, (uint32_t)n); - } - return errn; -} - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeInteger64(bitstream_t* stream, int64_t n) { - int errn; - /* signalize sign */ - if (n < 0) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - n = (-n) - 1; - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedInteger64(stream, (uint64_t)n); - } - return errn; -} - - -/** - * Encode an arbitrary precision integer using a sign bit followed by 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. - */ -int encodeIntegerBig(bitstream_t* stream, int negative, size_t size, uint8_t* data, size_t len) { - int errn; - /* signalize sign */ - if (negative) { - errn = encodeBoolean(stream, 1); - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - /* n = (-n) - 1; */ - } else { - errn = encodeBoolean(stream, 0); - } - if (errn == 0) { - errn = encodeUnsignedIntegerBig(stream, size, data, len); - } - return errn; -} - -/** - * The Float datatype representation is two consecutive Integers. - * The first Integer represents the mantissa of the floating point - * number and the second Integer represents the base-10 exponent - * of the floating point number. - */ -int encodeFloat(bitstream_t* stream, exi_float_me_t* f) { - int errn = encodeInteger64(stream, f->mantissa); - if (errn == 0) { - errn = encodeInteger32(stream, f->exponent); - } - return errn; -} - -/** - * Encode a decimal represented as a Boolean sign followed by two Unsigned - * Integers. A sign value of zero (0) is used to represent positive Decimal - * values and a sign value of one (1) is used to represent negative Decimal - * values The first Integer represents the integral portion of the Decimal - * value. The second positive integer represents the fractional portion of - * the decimal with the digits in reverse order to preserve leading zeros. - */ -int encodeDecimal(bitstream_t* stream, exi_decimal_t* d) { - /* sign, integral, reverse fractional */ - int errn = encodeBoolean(stream, d->negative); - if (errn == 0) { - errn = encodeUnsignedInteger(stream, &d->integral); - if (errn == 0) { - errn = encodeUnsignedInteger(stream, &d->reverseFraction); - } - } - return errn; -} - -/** - * Encode a length prefixed sequence of characters. - */ -int encodeString(bitstream_t* stream, exi_string_t* string) { - int errn = encodeUnsignedInteger32(stream, string->len); - if (errn == 0) { - errn = encodeCharacters(stream, string->characters, string->len); - } - 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, size_t len) { - unsigned int i; - int errn = 0; - for (i = 0; i < len && errn == 0; i++) { -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - errn = encode(stream, (uint8_t)chars[i]); -#endif /* STRING_REPRESENTATION_ASCII */ -#if STRING_REPRESENTATION == STRING_REPRESENTATION_UCS - errn = encodeUnsignedInteger32(stream, chars[i]); -#endif /* STRING_REPRESENTATION_UCS */ - } - return errn; -} - - -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; - unsigned int k; - int errn = 0; - size_t rcsCode = SIZE_MAX; - - for (i = 0; i < len && errn == 0; i++) { - /* try to find short code */ - rcsCode = SIZE_MAX; - for(k=0; klen); - - if(errn == 0) { - errn = encodeBytes(stream, bytes->data, bytes->len); - } - - return errn; -} - -int encodeBytes(bitstream_t* stream, uint8_t* data, size_t len) { - unsigned int i; - int errn = 0; - - for (i = 0; i < len && errn == 0; i++) { - errn = encode(stream, data[i]); - } - return errn; -} - -/** - * Encode a datetime representation which is a sequence of values - * representing the individual components of the Date-Time - */ -int encodeDateTime(bitstream_t* stream, exi_datetime_t* datetime) { - int errn = 0; - switch (datetime->type) { - case EXI_DATETIME_GYEAR: /* Year, [Time-Zone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - break; - case EXI_DATETIME_GYEARMONTH: /* Year, MonthDay, [TimeZone] */ - case EXI_DATETIME_DATE: /* Year, MonthDay, [TimeZone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - } - break; - case EXI_DATETIME_DATETIME: /* Year, MonthDay, Time, [FractionalSecs], [TimeZone] */ - errn = encodeInteger32(stream, datetime->year - DATETIME_YEAR_OFFSET); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - if (errn != 0) { - break; - } - } - /* no break */ - case EXI_DATETIME_TIME: /* Time, [FractionalSecs], [TimeZone] */ - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIME, - datetime->time); - if (errn == 0) { - if (datetime->presenceFractionalSecs) { - errn = encodeBoolean(stream, 1); - if (errn == 0) { - errn = encodeUnsignedInteger32(stream, datetime->fractionalSecs); - } - } else { - errn = encodeBoolean(stream, 0); - } - } - break; - case EXI_DATETIME_GMONTH: /* MonthDay, [TimeZone] */ - case EXI_DATETIME_GMONTHDAY: /* MonthDay, [TimeZone] */ - case EXI_DATETIME_GDAY: /* MonthDay, [TimeZone] */ - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_MONTHDAY, - datetime->monthDay); - break; - default: - errn = EXI_UNSUPPORTED_DATETIME_TYPE; - break; - } - if (errn == 0) { - /* [TimeZone] */ - if (datetime->presenceTimezone) { - errn = encodeBoolean(stream, 1); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, DATETIME_NUMBER_BITS_TIMEZONE, - datetime->timezone + DATETIME_TIMEZONE_OFFSET_IN_MINUTES); - } - } else { - errn = encodeBoolean(stream, 0); - } - } - - return errn; -} - - - - -int encode(bitstream_t* stream, uint8_t b) { -#if EXI_OPTION_ALIGNMENT == BIT_PACKED - return writeBits(stream, 8, b); -#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 ) { - 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 deleted file mode 100644 index fdceaff..0000000 --- a/src/codec/EncoderChannel.h +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EncoderChannel.h - * \brief EXI Encoder Channel - * - */ - -#ifndef ENCODER_CHANNEL_H -#define ENCODER_CHANNEL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "EXITypes.h" - - -/** - * \brief Encode byte value - * - * \param stream Output Stream - * \param b byte - * \return Error-Code <> 0 - * - */ -int encode(bitstream_t* stream, uint8_t b); - - -/** - * \brief Encode a single boolean value - * - * A false value is encoded as 0 and true value is encode as 1. - * - * \param stream Output Stream - * \param b boolean - * \return Error-Code <> 0 - * - */ -int encodeBoolean(bitstream_t* stream, int b); - - -/** - * \brief Encode n-bit unsigned integer - * - * The n least significant bits of parameter b starting with the - * most significant, i.e. from left to right. - * - * \param stream Output Stream - * \param nbits number of bits - * \param val value - * \return Error-Code <> 0 - * - */ -int encodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t val); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param iv Unsigned integer value - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 16 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger16(bitstream_t* stream, uint16_t n); - - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 32 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger32(bitstream_t* stream, uint32_t n); - - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param n Unsigned integer value 64 bits - * \return Error-Code <> 0 - * - */ -int encodeUnsignedInteger64(bitstream_t* stream, uint64_t n); - -/** - * \brief Encode unsigned integer - * - * Encode 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 Output Stream - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int encodeUnsignedIntegerBig(bitstream_t* stream, size_t size, uint8_t* data, size_t len); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param iv Integer value - * \return Error-Code <> 0 - * - */ -int encodeInteger(bitstream_t* stream, exi_integer_t* iv); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 16 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger16(bitstream_t* stream, int16_t n); - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 32 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger32(bitstream_t* stream, int32_t n); - - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param n Integer value 64 bits - * \return Error-Code <> 0 - * - */ -int encodeInteger64(bitstream_t* stream, int64_t n); - -/** - * \brief Encode integer - * - * Encode an arbitrary precision integer using a sign boolean - * followed by 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 Output Stream - * \param negative negative integer - * \param size size array - * \param data data array - * \param len length array - * \return Error-Code <> 0 - * - */ -int encodeIntegerBig(bitstream_t* stream, int negative, size_t size, uint8_t* data, size_t len); - -/** - * \brief Encode float - * - * Encode a Float datatype as two consecutive Integers. The first - * Integer represents the mantissa of the floating point number - * and the second Integer represents the base-10 exponent of the - * floating point number. - * - * \param stream Output Stream - * \param f Float value - * \return Error-Code <> 0 - * - */ -int encodeFloat(bitstream_t* stream, exi_float_me_t* f); - - -/** - * \brief Encode decimal - * - * Encode a decimal represented as a Boolean sign followed by two - * Unsigned Integers. A sign value of zero (0) is used to represent - * positive Decimal values and a sign value of one (1) is used to - * represent negative Decimal values The first Integer represents - * the integral portion of the Decimal value. The second positive - * integer represents the fractional portion of the decimal with - * the digits in reverse order to preserve leading zeros. - * - * \param stream Output Stream - * \param d Decimal value - * \return Error-Code <> 0 - * - */ -int encodeDecimal(bitstream_t* stream, exi_decimal_t* d); - - -/** - * \brief Encode string - * - * Encode a length prefixed sequence of characters. - * - * \param stream Output Stream - * \param string String - * \return Error-Code <> 0 - * - */ -int encodeString(bitstream_t* stream, exi_string_t* string); - - -/** - * \brief Encode string value - * - * Encode a length prefixed sequence of characters - * in the sense of string tables - * - * \param stream Output Stream - * \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_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, - exi_string_value_t* string); - - -/** - * \brief Encode restricted character set value - * - * Encode a length prefixed sequence of characters - * in the sense of string tables - * - * \param stream Output Stream - * \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_value_string_table_t* stringTable, - size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* string); - - -/** - * \brief Encode characters - * - * 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. - * - * \param stream Output Stream - * \param chars Characters - * \param len Numbr of characters - * \return Error-Code <> 0 - * - */ -int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len); - - -/** - * \brief Encode characters - * - * 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. - * - * \param stream Output Stream - * \param chars Characters - * \param len Numbr of characters - * \param rcsCodeLength RCS code-length - * \param rcsCodeLength RCS size - * \param rcsCodeLength RCS set - * \return Error-Code <> 0 - * - */ -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[]); - - - -/** - * \brief Encode binary - * - * Encode a binary value as a length-prefixed sequence of octets. - * - * \param stream Output Stream - * \param bytes Byte values - * \return Error-Code <> 0 - * - */ -int encodeBinary(bitstream_t* stream, exi_bytes_t* bytes); - - -/** - * \brief Encode binary data - * - * Encode a sequence of octets. - * - * \param stream Output Stream - * \param data Byte values - * \param len Length - * \return Error-Code <> 0 - * - */ -int encodeBytes(bitstream_t* stream, uint8_t* data, size_t len); - -/** - * \brief Encode datetime - * - * Encode a datetime representation which is a sequence of values - * representing the individual components of the Date-Time. - * - * \param stream Output Stream - * \param datetime Datetime values - * \return Error-Code <> 0 - * - */ -int encodeDateTime(bitstream_t* stream, exi_datetime_t* datetime); - - -/** - * \brief Flush underlying bit output stream - * - * \param stream Output Stream - * \return Error-Code <> 0 - * - */ -int encodeFinish(bitstream_t* stream); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/codec/ErrorCodes.h b/src/codec/ErrorCodes.h deleted file mode 100644 index e77855f..0000000 --- a/src/codec/ErrorCodes.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file ErrorCodes.h - * \brief Error Codes descriptions - * - */ - -#ifndef EXI_ERROR_CODES_H -#define EXI_ERROR_CODES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define EXI_ERROR_INPUT_STREAM_EOF -10 -#define EXI_ERROR_OUTPUT_STREAM_EOF -11 -#define EXI_ERROR_INPUT_FILE_HANDLE -12 -#define EXI_ERROR_OUTPUT_FILE -13 - -#define EXI_ERROR_OUT_OF_BOUNDS -100 -#define EXI_ERROR_OUT_OF_STRING_BUFFER -101 -/*#define EXI_ERROR_OUT_OF_ASCII_BUFFER -102 */ -#define EXI_ERROR_OUT_OF_BYTE_BUFFER -103 -#define EXI_ERROR_OUT_OF_GRAMMAR_STACK -104 -#define EXI_ERROR_OUT_OF_RUNTIME_GRAMMAR_STACK -105 -#define EXI_ERROR_OUT_OF_QNAMES -106 - -#define EXI_ERROR_UNKOWN_GRAMMAR_ID -108 -#define EXI_ERROR_UNKOWN_EVENT -109 -#define EXI_ERROR_UNKOWN_EVENT_CODE -110 -#define EXI_ERROR_UNEXPECTED_EVENT_LEVEL1 -111 -#define EXI_ERROR_UNEXPECTED_EVENT_LEVEL2 -112 - -#define EXI_ERROR_UNEXPECTED_START_DOCUMENT -113 -#define EXI_ERROR_UNEXPECTED_END_DOCUMENT -114 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT -115 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_NS -116 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC -117 -#define EXI_ERROR_UNEXPECTED_START_ELEMENT_GENERIC_UNDECLARED -118 -#define EXI_ERROR_UNEXPECTED_END_ELEMENT -119 -#define EXI_ERROR_UNEXPECTED_CHARACTERS -120 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE -121 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_NS -122 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC -123 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_GENERIC_UNDECLARED -124 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_TYPE -125 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_XSI_NIL -126 -#define EXI_ERROR_UNEXPECTED_GRAMMAR_ID -127 -#define EXI_ERROR_UNEXPECTED_ATTRIBUTE_MOVE_TO_CONTENT_RULE -128 - -#define EXI_UNSUPPORTED_NBIT_INTEGER_LENGTH -132 -#define EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS -133 -#define EXI_UNSUPPORTED_INTEGER_VALUE -134 -#define EXI_NEGATIVE_UNSIGNED_INTEGER_VALUE -135 -#define EXI_UNSUPPORTED_LIST_VALUE_TYPE -136 -#define EXI_UNSUPPORTED_HEADER_COOKIE -137 -#define EXI_UNSUPPORTED_HEADER_OPTIONS -138 - -#define EXI_UNSUPPORTED_GLOBAL_ATTRIBUTE_VALUE_TYPE -139 -#define EXI_UNSUPPORTED_DATATYPE -140 -#define EXI_UNSUPPORTED_STRING_VALUE_TYPE -141 -#define EXI_UNSUPPORTED_INTEGER_VALUE_TYPE -142 -#define EXI_UNSUPPORTED_DATETIME_TYPE -143 -#define EXI_UNSUPPORTED_FRAGMENT_ELEMENT -144 - -#define EXI_UNSUPPORTED_GRAMMAR_LEARNING_CH -150 - -/* string values */ -#define EXI_ERROR_STRINGVALUES_NOT_SUPPORTED -160 -#define EXI_ERROR_STRINGVALUES_OUT_OF_ENTRIES -161 -#define EXI_ERROR_STRINGVALUES_OUT_OF_MEMORY -162 -#define EXI_ERROR_STRINGVALUES_OUT_OF_BOUND -163 -#define EXI_ERROR_STRINGVALUES_CHARACTER -164 - -#define EXI_ERROR_UNEXPECTED_BYTE_VALUE -200 - - -#define EXI_ERROR_CONVERSION_NO_ASCII_CHARACTERS -300 -#define EXI_ERROR_CONVERSION_TYPE_TO_STRING -301 - - -#define EXI_DEVIANT_SUPPORT_NOT_DEPLOYED -500 - -#ifdef __cplusplus -} -#endif - - -#endif /* EXI_ERROR_CODES_H */ - diff --git a/src/codec/MethodsBag.c b/src/codec/MethodsBag.c deleted file mode 100644 index 11606a5..0000000 --- a/src/codec/MethodsBag.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#ifndef METHODS_BAG_C -#define METHODS_BAG_C - -#include "MethodsBag.h" -#include "ErrorCodes.h" - -static const uint16_t smallLengths[] = { 0, 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, - 4, 4, 4 }; - -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; - if (characteristics < 17) { - *codingLength = smallLengths[characteristics]; - } else if (characteristics < 33) { - /* 17 .. 32 */ - *codingLength = 5; - } else if (characteristics < 65) { - /* 33 .. 64 */ - *codingLength = 6; - } else if (characteristics < 129) { - /* 65 .. 128 */ - *codingLength = 7; - } else if (characteristics < 257) { - /* 129 .. 256 */ - *codingLength = 8; - } else if (characteristics < 513) { - /* 257 .. 512 */ - *codingLength = 9; - } else if (characteristics < 1025) { - /* 513 .. 1024 */ - *codingLength = 10; - } else if (characteristics < 2049) { - /* 1025 .. 2048 */ - *codingLength = 11; - } else if (characteristics < 4097) { - /* 2049 .. 4096 */ - *codingLength = 12; - } else if (characteristics < 8193) { - /* 4097 .. 8192 */ - *codingLength = 13; - } else if (characteristics < 16385) { - /* 8193 .. 16384 */ - *codingLength = 14; - } else if (characteristics < 32769) { - /* 16385 .. 32768 */ - *codingLength = 15; - } else { - /* 32769 .. 65536 */ - *codingLength = 16; - } - return errn; -} - - -uint8_t numberOf7BitBlocksToRepresent(uint32_t n) { - /* assert (n >= 0); */ - - /* 7 bits */ - if (n < 128) { - return 1; - } - /* 14 bits */ - else if (n < 16384) { - return 2; - } - /* 21 bits */ - else if (n < 2097152) { - return 3; - } - /* 28 bits */ - else if (n < 268435456) { - return 4; - } - /* 35 bits */ - else { - /* int, 32 bits */ - return 5; - } -} - - - -#endif - diff --git a/src/codec/MethodsBag.h b/src/codec/MethodsBag.h deleted file mode 100644 index 163685c..0000000 --- a/src/codec/MethodsBag.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 2017-03-02 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** -* \file MethodsBag.h -* \brief Method bag for bit and octet functions -* -*/ - -#ifndef METHODS_BAG_H -#define METHODS_BAG_H - - - -#include -#include - -/** - * \brief Returns the number of bits to identify the characteristics. - * - * \param characteristics number of characteristics - * \param codingLength number of bits - * \return Error-Code <> 0 - * - */ -int exiGetCodingLength(size_t characteristics, size_t* codingLength); - - -/** - * \brief Returns the least number of 7 bit-blocks that is needed to represent the passed integer value - * - * Note: Returns 1 if passed parameter is 0. - * - * \param n integer value - * \return Error-Code <> 0 - * - */ -uint8_t numberOf7BitBlocksToRepresent(uint32_t n); - - -#endif - diff --git a/src/compat/windows_compat.h b/src/compat/windows_compat.h deleted file mode 100644 index 869c2ef..0000000 --- a/src/compat/windows_compat.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef WINDOWS_COMPAT_H -#define WINDOWS_COMPAT_H - -#ifdef _WIN32 - #include - #include - #include - - // Windows equivalents for POSIX functions - #define access _access - #define F_OK 0 - #define R_OK 4 - #define W_OK 2 - #define X_OK 1 - - // For stat structure compatibility - #ifndef S_ISREG - #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) - #endif - - #ifndef S_ISDIR - #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) - #endif - -#else - #include - #include -#endif - -#endif // WINDOWS_COMPAT_H \ No newline at end of file diff --git a/src/din/dinEXIDatatypes.c b/src/din/dinEXIDatatypes.c deleted file mode 100644 index fa1fb79..0000000 --- a/src/din/dinEXIDatatypes.c +++ /dev/null @@ -1,969 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "dinEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_din_DATATYPES_C -#define EXI_din_DATATYPES_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - - -void init_dinEXIDocument(struct dinEXIDocument* exiDoc) { - exiDoc->BodyElement_isUsed = 0u; - exiDoc->V2G_Message_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; - exiDoc->DC_EVSEStatus_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_isUsed = 0u; - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->SASchedules_isUsed = 0u; - exiDoc->AC_EVChargeParameter_isUsed = 0u; - exiDoc->SAScheduleList_isUsed = 0u; - exiDoc->DC_EVStatus_isUsed = 0u; - exiDoc->ServiceCharge_isUsed = 0u; - exiDoc->EVStatus_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->AC_EVSEChargeParameter_isUsed = 0u; - exiDoc->PMaxScheduleEntry_isUsed = 0u; - exiDoc->EVChargeParameter_isUsed = 0u; - exiDoc->ServiceDiscoveryReq_isUsed = 0u; - exiDoc->ServiceDiscoveryRes_isUsed = 0u; - exiDoc->MeteringReceiptReq_isUsed = 0u; - exiDoc->PaymentDetailsReq_isUsed = 0u; - exiDoc->MeteringReceiptRes_isUsed = 0u; - exiDoc->PaymentDetailsRes_isUsed = 0u; - exiDoc->SessionSetupReq_isUsed = 0u; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - exiDoc->CableCheckRes_isUsed = 0u; - exiDoc->ContractAuthenticationReq_isUsed = 0u; - exiDoc->CertificateInstallationReq_isUsed = 0u; - exiDoc->ContractAuthenticationRes_isUsed = 0u; - exiDoc->CertificateInstallationRes_isUsed = 0u; - exiDoc->WeldingDetectionReq_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->CurrentDemandReq_isUsed = 0u; - exiDoc->PreChargeReq_isUsed = 0u; - exiDoc->CurrentDemandRes_isUsed = 0u; - exiDoc->PreChargeRes_isUsed = 0u; - exiDoc->ServicePaymentSelectionReq_isUsed = 0u; - exiDoc->SessionStopReq_isUsed = 0u; - exiDoc->ServicePaymentSelectionRes_isUsed = 0u; - exiDoc->SessionStopRes_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u; - exiDoc->ServiceDetailReq_isUsed = 0u; - exiDoc->ServiceDetailRes_isUsed = 0u; -} - - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -void init_dinEXIFragment(struct dinEXIFragment* exiFrag) { - exiFrag->Unit_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u; - exiFrag->TMeter_isUsed = 0u; - exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; - exiFrag->duration_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->Parameter_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->AC_EVChargeParameter_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->PMaxScheduleEntry_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->SelectedService_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVReady_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->RetryCounter_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->MeteringReceiptReq_isUsed = 0u; - exiFrag->ReadyToChargeState_isUsed = 0u; - exiFrag->Multiplier_isUsed = 0u; - exiFrag->EPriceLevel_isUsed = 0u; - exiFrag->stringValue_isUsed = 0u; - exiFrag->ServiceDiscoveryReq_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->MeteringReceiptRes_isUsed = 0u; - exiFrag->PreChargeReq_isUsed = 0u; - exiFrag->OEMProvisioningCert_isUsed = 0u; - exiFrag->ServiceDiscoveryRes_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->ContractAuthenticationReq_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractAuthenticationRes_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->SAScheduleTuple_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DepartureTime_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->RelativeTimeInterval_isUsed = 0u; - exiFrag->EVEnergyRequest_isUsed = 0u; - exiFrag->PreChargeRes_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->PMaxSchedule_isUsed = 0u; - exiFrag->ServiceCharge_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; - exiFrag->ChargingStatusReq_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->SalesTariffEntry_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->ChargingStatusRes_isUsed = 0u; - exiFrag->V2G_Message_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->ServicePaymentSelectionReq_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->EVSEIsolationStatus_isUsed = 0u; - exiFrag->ServicePaymentSelectionRes_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->BodyElement_isUsed = 0u; - exiFrag->EVCCID_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->RootCertificateID_isUsed = 0u; - exiFrag->FaultCode_isUsed = 0u; - exiFrag->CableCheckReq_isUsed = 0u; - exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; - exiFrag->EVRESSConditioning_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->CableCheckRes_isUsed = 0u; - exiFrag->ChargingProfileEntryStart_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->EVMaxCurrent_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->costKind_isUsed = 0u; - exiFrag->EAmount_isUsed = 0u; - exiFrag->EVSEPresentCurrent_isUsed = 0u; - exiFrag->PowerDeliveryRes_isUsed = 0u; - exiFrag->NumEPriceLevels_isUsed = 0u; - exiFrag->SessionStopRes_isUsed = 0u; - exiFrag->PowerDeliveryReq_isUsed = 0u; - exiFrag->SessionStopReq_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->BulkSOC_isUsed = 0u; - exiFrag->PMax_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->ContractID_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->EVMaxVoltage_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->ChargingProfile_isUsed = 0u; - exiFrag->PaymentOptions_isUsed = 0u; - exiFrag->SessionSetupRes_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceDetailRes_isUsed = 0u; - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->PaymentDetailsRes_isUsed = 0u; - exiFrag->PaymentDetailsReq_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->Value_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->RemainingTimeToBulkSoC_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->SessionSetupReq_isUsed = 0u; - exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; - exiFrag->ServiceDetailReq_isUsed = 0u; - exiFrag->byteValue_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->PowerSwitchClosed_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->SAScheduleList_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->CertificateInstallationRes_isUsed = 0u; - exiFrag->CertificateInstallationReq_isUsed = 0u; - exiFrag->SalesTariff_isUsed = 0u; - exiFrag->Header_isUsed = 0u; - exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->DigestValue_isUsed = 0u; - exiFrag->DC_EVChargeParameter_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->ChargeService_isUsed = 0u; - exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->EVSEStatus_isUsed = 0u; - exiFrag->Service_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->DHParams_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->EnergyTransferType_isUsed = 0u; - exiFrag->WeldingDetectionRes_isUsed = 0u; - exiFrag->FreeService_isUsed = 0u; - exiFrag->SelectedServiceList_isUsed = 0u; - exiFrag->WeldingDetectionReq_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->CertificateUpdateRes_isUsed = 0u; - exiFrag->CertificateUpdateReq_isUsed = 0u; - exiFrag->EVSEMaxVoltage_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->AC_EVSEChargeParameter_isUsed = 0u; - exiFrag->EVEnergyCapacity_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; - exiFrag->ServiceParameterList_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ProfileEntry_isUsed = 0u; - exiFrag->EVSEMinimumVoltageLimit_isUsed = 0u; - exiFrag->CurrentDemandRes_isUsed = 0u; - exiFrag->EVRESSSOC_isUsed = 0u; - exiFrag->MeterReading_isUsed = 0u; - exiFrag->CurrentDemandReq_isUsed = 0u; - exiFrag->physicalValue_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->TimeInterval_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->DateTimeNow_isUsed = 0u; - exiFrag->DateTimeNow_isUsed = 0u; - exiFrag->ServiceTag_isUsed = 0u; - exiFrag->intValue_isUsed = 0u; - exiFrag->SelectedPaymentOption_isUsed = 0u; - exiFrag->ServiceName_isUsed = 0u; - exiFrag->EVCabinConditioning_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->MeterStatus_isUsed = 0u; - exiFrag->EVRequestedEnergyTransferType_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->SalesTariffDescription_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->boolValue_isUsed = 0u; - exiFrag->EVSEStatusCode_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->FaultMsg_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->ParameterSet_isUsed = 0u; - exiFrag->SigMeterReading_isUsed = 0u; - exiFrag->EVSEChargeParameter_isUsed = 0u; - exiFrag->Body_isUsed = 0u; - exiFrag->SASchedules_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->PMaxScheduleID_isUsed = 0u; - exiFrag->RemainingTimeToFullSoC_isUsed = 0u; - exiFrag->EVStatus_isUsed = 0u; - exiFrag->SubCertificates_isUsed = 0u; - exiFrag->PaymentOption_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceList_isUsed = 0u; - exiFrag->Cost_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->EVSEMinCurrent_isUsed = 0u; - exiFrag->ConsumptionCost_isUsed = 0u; - exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; - exiFrag->EVErrorCode_isUsed = 0u; - exiFrag->EVChargeParameter_isUsed = 0u; - exiFrag->start_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->EVMinCurrent_isUsed = 0u; - exiFrag->FullSOC_isUsed = 0u; - exiFrag->amount_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->shortValue_isUsed = 0u; - exiFrag->DC_EVSEChargeParameter_isUsed = 0u; - exiFrag->Entry_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->SalesTariffID_isUsed = 0u; - exiFrag->MeterID_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; - exiFrag->amountMultiplier_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->RCD_isUsed = 0u; - exiFrag->Notification_isUsed = 0u; - exiFrag->startValue_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - -void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - dinMeteringReceiptReqType->Id_isUsed = 0u; - dinMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_dinBodyType(struct dinBodyType* dinBodyType) { - dinBodyType->BodyElement_isUsed = 0u; - dinBodyType->SessionSetupReq_isUsed = 0u; - dinBodyType->SessionSetupRes_isUsed = 0u; - dinBodyType->ServiceDiscoveryReq_isUsed = 0u; - dinBodyType->ServiceDiscoveryRes_isUsed = 0u; - dinBodyType->ServiceDetailReq_isUsed = 0u; - dinBodyType->ServiceDetailRes_isUsed = 0u; - dinBodyType->ServicePaymentSelectionReq_isUsed = 0u; - dinBodyType->ServicePaymentSelectionRes_isUsed = 0u; - dinBodyType->PaymentDetailsReq_isUsed = 0u; - dinBodyType->PaymentDetailsRes_isUsed = 0u; - dinBodyType->ContractAuthenticationReq_isUsed = 0u; - dinBodyType->ContractAuthenticationRes_isUsed = 0u; - dinBodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - dinBodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - dinBodyType->PowerDeliveryReq_isUsed = 0u; - dinBodyType->PowerDeliveryRes_isUsed = 0u; - dinBodyType->ChargingStatusReq_isUsed = 0u; - dinBodyType->ChargingStatusRes_isUsed = 0u; - dinBodyType->MeteringReceiptReq_isUsed = 0u; - dinBodyType->MeteringReceiptRes_isUsed = 0u; - dinBodyType->SessionStopReq_isUsed = 0u; - dinBodyType->SessionStopRes_isUsed = 0u; - dinBodyType->CertificateUpdateReq_isUsed = 0u; - dinBodyType->CertificateUpdateRes_isUsed = 0u; - dinBodyType->CertificateInstallationReq_isUsed = 0u; - dinBodyType->CertificateInstallationRes_isUsed = 0u; - dinBodyType->CableCheckReq_isUsed = 0u; - dinBodyType->CableCheckRes_isUsed = 0u; - dinBodyType->PreChargeReq_isUsed = 0u; - dinBodyType->PreChargeRes_isUsed = 0u; - dinBodyType->CurrentDemandReq_isUsed = 0u; - dinBodyType->CurrentDemandRes_isUsed = 0u; - dinBodyType->WeldingDetectionReq_isUsed = 0u; - dinBodyType->WeldingDetectionRes_isUsed = 0u; -} - -void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType) { - (void)dinSessionSetupReqType; /* avoid unused warning */ -} - -void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - dinPowerDeliveryResType->EVSEStatus_isUsed = 0u; - dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u; - dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType) { - dinServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - (void)dinWeldingDetectionResType; /* avoid unused warning */ -} - -void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - (void)dinContractAuthenticationResType; /* avoid unused warning */ -} - -void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - dinCanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType) { - dinSPKIDataType->SPKISexp.arrayLen = 0u; - dinSPKIDataType->ANY_isUsed = 0u; -} - -void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType) { - dinSelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType) { - dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u; - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u; -} - -void init_dinTransformType(struct dinTransformType* dinTransformType) { - dinTransformType->ANY_isUsed = 0u; - dinTransformType->XPath.arrayLen = 0u; -} - -void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - (void)dinAC_EVChargeParameterType; /* avoid unused warning */ -} - -void init_dinX509DataType(struct dinX509DataType* dinX509DataType) { - dinX509DataType->X509IssuerSerial.arrayLen = 0u; - dinX509DataType->X509SKI.arrayLen = 0u; - dinX509DataType->X509SubjectName.arrayLen = 0u; - dinX509DataType->X509Certificate.arrayLen = 0u; - dinX509DataType->X509CRL.arrayLen = 0u; - dinX509DataType->ANY_isUsed = 0u; -} - -void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType) { - dinChargingStatusResType->EVSEMaxCurrent_isUsed = 0u; - dinChargingStatusResType->MeterInfo_isUsed = 0u; -} - -void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - (void)dinWeldingDetectionReqType; /* avoid unused warning */ -} - -void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - dinSignaturePropertiesType->Id_isUsed = 0u; - dinSignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - dinContractAuthenticationReqType->Id_isUsed = 0u; - dinContractAuthenticationReqType->GenChallenge_isUsed = 0u; -} - -void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - dinDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; -} - -void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - (void)dinEVSEChargeParameterType; /* avoid unused warning */ -} - -void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType) { - (void)dinCableCheckReqType; /* avoid unused warning */ -} - -void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u; - dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u; - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u; - dinDC_EVChargeParameterType->FullSOC_isUsed = 0u; - dinDC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType) { - dinSAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType) { - dinPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - (void)dinServicePaymentSelectionReqType; /* avoid unused warning */ -} - -void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - dinRelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType) { - (void)dinEVStatusType; /* avoid unused warning */ -} - -void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType) { - (void)dinPreChargeResType; /* avoid unused warning */ -} - -void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed = 0u; - dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - (void)dinPaymentDetailsResType; /* avoid unused warning */ -} - -void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType) { - dinDSAKeyValueType->P_isUsed = 0u; - dinDSAKeyValueType->Q_isUsed = 0u; - dinDSAKeyValueType->G_isUsed = 0u; - dinDSAKeyValueType->J_isUsed = 0u; - dinDSAKeyValueType->Seed_isUsed = 0u; - dinDSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType) { - (void)dinSASchedulesType; /* avoid unused warning */ -} - -void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - (void)dinCertificateUpdateResType; /* avoid unused warning */ -} - -void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType) { - (void)dinEVChargeParameterType; /* avoid unused warning */ -} - -void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType) { - dinMessageHeaderType->Notification_isUsed = 0u; - dinMessageHeaderType->Signature_isUsed = 0u; -} - -void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType) { - (void)dinBodyBaseType; /* avoid unused warning */ -} - -void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType) { - dinKeyValueType->DSAKeyValue_isUsed = 0u; - dinKeyValueType->RSAKeyValue_isUsed = 0u; - dinKeyValueType->ANY_isUsed = 0u; -} - -void init_dinIntervalType(struct dinIntervalType* dinIntervalType) { - (void)dinIntervalType; /* avoid unused warning */ -} - -void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - dinChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; - dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; -} - -void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - dinPowerDeliveryReqType->ChargingProfile_isUsed = 0u; - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u; - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u; -} - -void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType) { - dinCertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_dinTransformsType(struct dinTransformsType* dinTransformsType) { - dinTransformsType->Transform.arrayLen = 0u; -} - -void init_dinEntryType(struct dinEntryType* dinEntryType) { - dinEntryType->TimeInterval_isUsed = 0u; - dinEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType) { - (void)dinSessionStopType; /* avoid unused warning */ -} - -void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType) { - (void)dinServiceDetailReqType; /* avoid unused warning */ -} - -void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType) { - dinDigestMethodType->ANY_isUsed = 0u; -} - -void init_dinParameterType(struct dinParameterType* dinParameterType) { - dinParameterType->boolValue_isUsed = 0u; - dinParameterType->byteValue_isUsed = 0u; - dinParameterType->shortValue_isUsed = 0u; - dinParameterType->intValue_isUsed = 0u; - dinParameterType->physicalValue_isUsed = 0u; - dinParameterType->stringValue_isUsed = 0u; -} - -void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType) { - (void)dinChargingStatusReqType; /* avoid unused warning */ -} - -void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType) { - dinSignatureMethodType->HMACOutputLength_isUsed = 0u; - dinSignatureMethodType->ANY_isUsed = 0u; -} - -void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - dinCertificateInstallationReqType->Id_isUsed = 0u; -} - -void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - dinSalesTariffEntryType->TimeInterval_isUsed = 0u; - dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; - dinSalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - dinServiceDiscoveryResType->ServiceList_isUsed = 0u; -} - -void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType) { - dinParameterSetType->Parameter.arrayLen = 0u; -} - -void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u; - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u; - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u; - dinCurrentDemandReqType->BulkChargingComplete_isUsed = 0u; - dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u; - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u; -} - -void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType) { - (void)dinPreChargeReqType; /* avoid unused warning */ -} - -void init_dinSignatureType(struct dinSignatureType* dinSignatureType) { - dinSignatureType->Id_isUsed = 0u; - dinSignatureType->KeyInfo_isUsed = 0u; - dinSignatureType->Object.arrayLen = 0u; -} - -void init_dinReferenceType(struct dinReferenceType* dinReferenceType) { - dinReferenceType->Id_isUsed = 0u; - dinReferenceType->URI_isUsed = 0u; - dinReferenceType->Type_isUsed = 0u; - dinReferenceType->Transforms_isUsed = 0u; -} - -void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType) { - (void)dinProfileEntryType; /* avoid unused warning */ -} - -void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - (void)dinAnonType_V2G_Message; /* avoid unused warning */ -} - -void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; -} - -void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType) { - dinConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType) { - (void)dinRSAKeyValueType; /* avoid unused warning */ -} - -void init_dinServiceType(struct dinServiceType* dinServiceType) { - (void)dinServiceType; /* avoid unused warning */ -} - -void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType) { - dinServiceTagListType->Service.arrayLen = 0u; -} - -void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType) { - (void)dinEVSEStatusType; /* avoid unused warning */ -} - -void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType) { - dinSessionSetupResType->DateTimeNow_isUsed = 0u; -} - -void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - (void)dinEVPowerDeliveryParameterType; /* avoid unused warning */ -} - -void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - (void)dinX509IssuerSerialType; /* avoid unused warning */ -} - -void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType) { - dinSelectedServiceType->ParameterSetID_isUsed = 0u; -} - -void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - (void)dinMeteringReceiptResType; /* avoid unused warning */ -} - -void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType) { - dinDC_EVStatusType->EVCabinConditioning_isUsed = 0u; - dinDC_EVStatusType->EVRESSConditioning_isUsed = 0u; -} - -void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType) { - dinPhysicalValueType->Unit_isUsed = 0u; -} - -void init_dinManifestType(struct dinManifestType* dinManifestType) { - dinManifestType->Id_isUsed = 0u; - dinManifestType->Reference.arrayLen = 0u; -} - -void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - dinPMaxScheduleEntryType->TimeInterval_isUsed = 0u; - dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType) { - dinServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType) { - dinSignatureValueType->Id_isUsed = 0u; -} - -void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType) { - dinPaymentOptionsType->PaymentOption.arrayLen = 0u; -} - -void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType) { - dinServiceTagType->ServiceName_isUsed = 0u; - dinServiceTagType->ServiceScope_isUsed = 0u; -} - -void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - (void)dinAC_EVSEStatusType; /* avoid unused warning */ -} - -void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - dinCertificateUpdateReqType->Id_isUsed = 0u; -} - -void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - (void)dinServicePaymentSelectionResType; /* avoid unused warning */ -} - -void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - dinSAScheduleTupleType->SalesTariff_isUsed = 0u; -} - -void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType) { - dinChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - dinServiceDiscoveryReqType->ServiceScope_isUsed = 0u; - dinServiceDiscoveryReqType->ServiceCategory_isUsed = 0u; -} - -void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - (void)dinAC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType) { - dinKeyInfoType->Id_isUsed = 0u; - dinKeyInfoType->KeyName.arrayLen = 0u; - dinKeyInfoType->KeyValue.arrayLen = 0u; - dinKeyInfoType->RetrievalMethod.arrayLen = 0u; - dinKeyInfoType->X509Data.arrayLen = 0u; - dinKeyInfoType->PGPData.arrayLen = 0u; - dinKeyInfoType->SPKIData.arrayLen = 0u; - dinKeyInfoType->MgmtData.arrayLen = 0u; - dinKeyInfoType->ANY_isUsed = 0u; -} - -void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - (void)dinPaymentDetailsReqType; /* avoid unused warning */ -} - -void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType) { - (void)dinCableCheckResType; /* avoid unused warning */ -} - -void init_dinObjectType(struct dinObjectType* dinObjectType) { - dinObjectType->Id_isUsed = 0u; - dinObjectType->MimeType_isUsed = 0u; - dinObjectType->Encoding_isUsed = 0u; - dinObjectType->ANY_isUsed = 0u; -} - -void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType) { - (void)dinSessionStopResType; /* avoid unused warning */ -} - -void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType) { - dinSignedInfoType->Id_isUsed = 0u; - dinSignedInfoType->Reference.arrayLen = 0u; -} - -void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType) { - dinSalesTariffType->SalesTariffDescription_isUsed = 0u; - dinSalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_dinCostType(struct dinCostType* dinCostType) { - dinCostType->amountMultiplier_isUsed = 0u; -} - -void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType) { - (void)dinServiceChargeType; /* avoid unused warning */ -} - -void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - dinDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; -} - -void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType) { - dinRetrievalMethodType->URI_isUsed = 0u; - dinRetrievalMethodType->Type_isUsed = 0u; - dinRetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_dinNotificationType(struct dinNotificationType* dinNotificationType) { - dinNotificationType->FaultMsg_isUsed = 0u; -} - -void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType) { - dinPGPDataType->PGPKeyID_isUsed = 0u; - dinPGPDataType->PGPKeyPacket_isUsed = 0u; - dinPGPDataType->ANY_isUsed = 0u; -} - -void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - (void)dinCertificateInstallationResType; /* avoid unused warning */ -} - -void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType) { - dinSignaturePropertyType->Id_isUsed = 0u; - dinSignaturePropertyType->ANY_isUsed = 0u; -} - -void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType) { - dinMeterInfoType->MeterReading_isUsed = 0u; - dinMeterInfoType->SigMeterReading_isUsed = 0u; - dinMeterInfoType->MeterStatus_isUsed = 0u; - dinMeterInfoType->TMeter_isUsed = 0u; -} - -void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType) { - dinSubCertificatesType->Certificate.arrayLen = 0u; -} - - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/src/din/dinEXIDatatypes.h b/src/din/dinEXIDatatypes.h deleted file mode 100644 index d67d229..0000000 --- a/src/din/dinEXIDatatypes.h +++ /dev/null @@ -1,2934 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_din_DATATYPES_H -#define EXI_din_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_DIN_CODEC SUPPORT_YES -#define DEPLOY_DIN_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define dinSPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID from unbounded to 5 (see #define dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define dinTransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define dinTransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define dinManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":PaymentOption from unbounded to 5 (see #define dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry from unbounded to 24 (see #define dinChargingProfileType_ProfileEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define dinSignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Certificate from unbounded to 5 (see #define dinSubCertificatesType_Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SelectedService from unbounded to 16 (see #define dinSelectedServiceListType_SelectedService_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define dinX509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define dinX509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define dinX509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define dinX509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define dinX509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Parameter from unbounded to 16 (see #define dinParameterSetType_Parameter_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Cost from unbounded to 5 (see #define dinConsumptionCostType_Cost_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":Service from unbounded to 8 (see #define dinServiceTagListType_Service_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ParameterSet from unbounded to 5 (see #define dinServiceParameterListType_ParameterSet_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define dinKeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define dinKeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define dinKeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define dinKeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define dinKeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define dinKeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost from unbounded to 5 (see #define dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define dinSignatureType_Object_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple from unbounded to 5 (see #define dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) */ - - -typedef enum { - dinDC_EVSEStatusCodeType_EVSE_NotReady = 0, - dinDC_EVSEStatusCodeType_EVSE_Ready = 1, - dinDC_EVSEStatusCodeType_EVSE_Shutdown = 2, - dinDC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3, - dinDC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4, - dinDC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5, - dinDC_EVSEStatusCodeType_EVSE_Malfunction = 6, - dinDC_EVSEStatusCodeType_Reserved_8 = 7, - dinDC_EVSEStatusCodeType_Reserved_9 = 8, - dinDC_EVSEStatusCodeType_Reserved_A = 9, - dinDC_EVSEStatusCodeType_Reserved_B = 10, - dinDC_EVSEStatusCodeType_Reserved_C = 11 -} dinDC_EVSEStatusCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -#define dinSessionSetupReqType_EVCCID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evccIDType is 8 */ -struct dinSessionSetupReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":EVCCID, urn:iso:15118:2:2010:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[dinSessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - dinEVSEProcessingType_Finished = 0, - dinEVSEProcessingType_Ongoing = 1 -} dinEVSEProcessingType; - -/* 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 dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinCanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 dinSPKIDataType_SPKISexp_BYTES_SIZE 350 -#define dinSPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define dinSPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinSPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinSPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinSPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE 40 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType is 40 */ -#define dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5 -struct dinListOfRootCertificateIDsType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID, urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType */ - struct { - struct { - exi_string_character_t characters[dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 dinTransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinTransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinTransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinTransformType_XPath_ARRAY_SIZE 1 -struct dinTransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinTransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinTransformType_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 { - exi_string_character_t characters[dinTransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinTransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -typedef enum { - dinDC_EVErrorCodeType_NO_ERROR = 0, - dinDC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1, - dinDC_EVErrorCodeType_FAILED_EVShiftPosition = 2, - dinDC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3, - dinDC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4, - dinDC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5, - dinDC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6, - dinDC_EVErrorCodeType_Reserved_A = 7, - dinDC_EVErrorCodeType_Reserved_B = 8, - dinDC_EVErrorCodeType_Reserved_C = 9, - dinDC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10, - dinDC_EVErrorCodeType_NoData = 11 -} dinDC_EVErrorCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -#define dinContractAuthenticationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinContractAuthenticationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinContractAuthenticationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":GenChallenge, urn:iso:15118:2:2010:MsgDataTypes,genChallengeType */ - struct { - exi_string_character_t characters[dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - unsigned int GenChallenge_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVSEChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -struct dinRelativeTimeIntervalType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":start, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t start ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":duration, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t duration ; - unsigned int duration_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVStatusType { - int noContent; /* avoid warning */ -}; - -/* 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'. */ -#define dinDSAKeyValueType_P_BYTES_SIZE 350 -#define dinDSAKeyValueType_Q_BYTES_SIZE 350 -#define dinDSAKeyValueType_G_BYTES_SIZE 350 -#define dinDSAKeyValueType_Y_BYTES_SIZE 350 -#define dinDSAKeyValueType_J_BYTES_SIZE 350 -#define dinDSAKeyValueType_Seed_BYTES_SIZE 350 -#define dinDSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct dinDSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinDSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinSASchedulesType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinBodyBaseType { - int noContent; /* avoid warning */ -}; - -typedef enum { - dinunitSymbolType_h = 0, - dinunitSymbolType_m = 1, - dinunitSymbolType_s = 2, - dinunitSymbolType_A = 3, - dinunitSymbolType_Ah = 4, - dinunitSymbolType_V = 5, - dinunitSymbolType_VA = 6, - dinunitSymbolType_W = 7, - dinunitSymbolType_W_s = 8, - dinunitSymbolType_Wh = 9 -} dinunitSymbolType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinIntervalType { - int noContent; /* avoid warning */ -}; - -/* 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'. */ -#define dinTransformsType_Transform_ARRAY_SIZE 1 -struct dinTransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct dinTransformType array[dinTransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -struct dinEntryType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType 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:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct dinSessionStopType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -struct dinServiceDetailReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; -}; - -/* 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 dinDigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinDigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinDigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinDigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinDigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - dinvalueType_bool = 0, - dinvalueType_byte = 1, - dinvalueType_short = 2, - dinvalueType_int = 3, - dinvalueType_physicalValue = 4, - dinvalueType_string = 5 -} dinvalueType; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct dinChargingStatusReqType { - int noContent; /* avoid warning */ -}; - -/* 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 dinSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define dinSignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinSignatureMethodType_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[dinSignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -#define dinCertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinCertificateInstallationReqType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -struct dinCertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateInstallationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - /* element: "urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateInstallationReqType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; -}; - -typedef enum { - dinEVRequestedEnergyTransferType_AC_single_phase_core = 0, - dinEVRequestedEnergyTransferType_AC_three_phase_core = 1, - dinEVRequestedEnergyTransferType_DC_core = 2, - dinEVRequestedEnergyTransferType_DC_extended = 3, - dinEVRequestedEnergyTransferType_DC_combo_core = 4, - dinEVRequestedEnergyTransferType_DC_unique = 5 -} dinEVRequestedEnergyTransferType; - -typedef enum { - dinpaymentOptionType_Contract = 0, - dinpaymentOptionType_ExternalPayment = 1 -} dinpaymentOptionType; - -typedef enum { - dinEVSESupportedEnergyTransferType_AC_single_phase_core = 0, - dinEVSESupportedEnergyTransferType_AC_three_phase_core = 1, - dinEVSESupportedEnergyTransferType_DC_core = 2, - dinEVSESupportedEnergyTransferType_DC_extended = 3, - dinEVSESupportedEnergyTransferType_DC_combo_core = 4, - dinEVSESupportedEnergyTransferType_DC_dual = 5, - dinEVSESupportedEnergyTransferType_AC_core1p_DC_extended = 6, - dinEVSESupportedEnergyTransferType_AC_single_DC_core = 7, - dinEVSESupportedEnergyTransferType_AC_single_phase_three_phase_core_DC_extended = 8, - dinEVSESupportedEnergyTransferType_AC_core3p_DC_extended = 9 -} dinEVSESupportedEnergyTransferType; - -/* 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 dinReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinReferenceType_DigestValue_BYTES_SIZE 350 -struct dinReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinReferenceType_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[dinReferenceType_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[dinReferenceType_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 dinTransformsType 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 dinDigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[dinReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -struct dinProfileEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t ChargingProfileEntryStart ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower, urn:iso:15118:2:2010:MsgDataTypes,PMaxType */ - int16_t ChargingProfileEntryMaxPower ; -}; - -/* 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 dinRSAKeyValueType_Modulus_BYTES_SIZE 350 -#define dinRSAKeyValueType_Exponent_BYTES_SIZE 350 -struct dinRSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[dinRSAKeyValueType_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[dinRSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -typedef enum { - dinfaultCodeType_ParsingError = 0, - dinfaultCodeType_NoTLSRootCertificatAvailable = 1, - dinfaultCodeType_UnknownError = 2 -} dinfaultCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVSEStatusType { - int noContent; /* avoid warning */ -}; - -typedef enum { - dinserviceCategoryType_EVCharging = 0, - dinserviceCategoryType_Internet = 1, - dinserviceCategoryType_ContractCertificate = 2, - dinserviceCategoryType_OtherCustom = 3 -} dinserviceCategoryType; - -typedef enum { - dinEVSENotificationType_None = 0, - dinEVSENotificationType_StopCharging = 1, - dinEVSENotificationType_ReNegotiation = 2 -} dinEVSENotificationType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct dinEVPowerDeliveryParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinX509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -struct dinSelectedServiceType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - unsigned int ParameterSetID_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -struct dinDC_EVStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVReady, http://www.w3.org/2001/XMLSchema,boolean */ - int EVReady ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning, http://www.w3.org/2001/XMLSchema,boolean */ - int EVCabinConditioning ; - unsigned int EVCabinConditioning_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning, http://www.w3.org/2001/XMLSchema,boolean */ - int EVRESSConditioning ; - unsigned int EVRESSConditioning_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode, urn:iso:15118:2:2010:MsgDataTypes,DC_EVErrorCodeType */ - dinDC_EVErrorCodeType EVErrorCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t EVRESSSOC ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -struct dinPhysicalValueType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Multiplier, urn:iso:15118:2:2010:MsgDataTypes,unitMultiplierType */ - int8_t Multiplier ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Unit, urn:iso:15118:2:2010:MsgDataTypes,unitSymbolType */ - dinunitSymbolType Unit ; - unsigned int Unit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ - int16_t Value ; -}; - -/* 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 dinManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinManifestType_Reference_ARRAY_SIZE 1 -struct dinManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinManifestType_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 dinReferenceType array[dinManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -typedef enum { - dincostKindType_relativePricePercentage = 0, - dincostKindType_RenewableGenerationPercentage = 1, - dincostKindType_CarbonDioxideEmission = 2 -} dincostKindType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -struct dinPMaxScheduleEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMax, urn:iso:15118:2:2010:MsgDataTypes,PMaxType */ - int16_t PMax ; -}; - -typedef enum { - dinisolationLevelType_Invalid = 0, - dinisolationLevelType_Valid = 1, - dinisolationLevelType_Warning = 2, - dinisolationLevelType_Fault = 3 -} dinisolationLevelType; - -/* 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 dinSignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignatureValueType_CONTENT_BYTES_SIZE 350 -struct dinSignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignatureValueType_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[dinSignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinPaymentOptionsType_PaymentOption_ARRAY_SIZE 5 -struct dinPaymentOptionsType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PaymentOption, urn:iso:15118:2:2010:MsgDataTypes,paymentOptionType */ - struct { - dinpaymentOptionType array[dinPaymentOptionsType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -#define dinServiceTagType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceNameType is 32 */ -#define dinServiceTagType_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -struct dinServiceTagType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceName, urn:iso:15118:2:2010:MsgDataTypes,serviceNameType */ - struct { - exi_string_character_t characters[dinServiceTagType_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - unsigned int ServiceName_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2010:MsgDataTypes,serviceCategoryType */ - dinserviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceScope, urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[dinServiceTagType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -struct dinAC_EVSEStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed, http://www.w3.org/2001/XMLSchema,boolean */ - int PowerSwitchClosed ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RCD, http://www.w3.org/2001/XMLSchema,boolean */ - int RCD ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSENotification, urn:iso:15118:2:2010:MsgDataTypes,EVSENotificationType */ - dinEVSENotificationType EVSENotification ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct dinChargingProfileType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ - struct { - struct dinProfileEntryType array[dinChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -#define dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -struct dinServiceDiscoveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceScope, urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceCategory, urn:iso:15118:2:2010:MsgDataTypes,serviceCategoryType */ - dinserviceCategoryType ServiceCategory ; - unsigned int ServiceCategory_isUsed:1; -}; - -typedef enum { - dinresponseCodeType_OK = 0, - dinresponseCodeType_OK_NewSessionEstablished = 1, - dinresponseCodeType_OK_OldSessionJoined = 2, - dinresponseCodeType_OK_CertificateExpiresSoon = 3, - dinresponseCodeType_FAILED = 4, - dinresponseCodeType_FAILED_SequenceError = 5, - dinresponseCodeType_FAILED_ServiceIDInvalid = 6, - dinresponseCodeType_FAILED_UnknownSession = 7, - dinresponseCodeType_FAILED_ServiceSelectionInvalid = 8, - dinresponseCodeType_FAILED_PaymentSelectionInvalid = 9, - dinresponseCodeType_FAILED_CertificateExpired = 10, - dinresponseCodeType_FAILED_SignatureError = 11, - dinresponseCodeType_FAILED_NoCertificateAvailable = 12, - dinresponseCodeType_FAILED_CertChainError = 13, - dinresponseCodeType_FAILED_ChallengeInvalid = 14, - dinresponseCodeType_FAILED_ContractCanceled = 15, - dinresponseCodeType_FAILED_WrongChargeParameter = 16, - dinresponseCodeType_FAILED_PowerDeliveryNotApplied = 17, - dinresponseCodeType_FAILED_TariffSelectionInvalid = 18, - dinresponseCodeType_FAILED_ChargingProfileInvalid = 19, - dinresponseCodeType_FAILED_EVSEPresentVoltageToLow = 20, - dinresponseCodeType_FAILED_MeteringSignatureNotValid = 21, - dinresponseCodeType_FAILED_WrongEnergyTransferType = 22 -} dinresponseCodeType; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -struct dinAC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxVoltage ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxCurrent ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinCurrent ; -}; - -/* 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 dinObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinObjectType_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[dinObjectType_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[dinObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[dinObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct dinSessionStopResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; -}; - -/* 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 dinSignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignedInfoType_Reference_ARRAY_SIZE 1 -struct dinSignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignedInfoType_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 dinCanonicalizationMethodType 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 dinSignatureMethodType 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 dinReferenceType array[dinSignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -struct dinCostType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":costKind, urn:iso:15118:2:2010:MsgDataTypes,costKindType */ - dincostKindType costKind ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":amount, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t amount ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier, urn:iso:15118:2:2010:MsgDataTypes,unitMultiplierType */ - int8_t amountMultiplier ; - unsigned int amountMultiplier_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -struct dinServiceChargeType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceTag, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ - struct dinServiceTagType ServiceTag ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType, urn:iso:15118:2:2010:MsgDataTypes,EVSESupportedEnergyTransferType */ - dinEVSESupportedEnergyTransferType EnergyTransferType ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -struct dinDC_EVSEStatusType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2010:MsgDataTypes,isolationLevelType */ - dinisolationLevelType EVSEIsolationStatus ; - unsigned int EVSEIsolationStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusCodeType */ - dinDC_EVSEStatusCodeType EVSEStatusCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSENotification, urn:iso:15118:2:2010:MsgDataTypes,EVSENotificationType */ - dinEVSENotificationType EVSENotification ; -}; - -/* 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 dinRetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinRetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinRetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinRetrievalMethodType_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[dinRetrievalMethodType_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 dinTransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -#define dinNotificationType_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,faultMsgType is 64 */ -struct dinNotificationType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FaultCode, urn:iso:15118:2:2010:MsgDataTypes,faultCodeType */ - dinfaultCodeType FaultCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FaultMsg, urn:iso:15118:2:2010:MsgDataTypes,faultMsgType */ - struct { - exi_string_character_t characters[dinNotificationType_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - unsigned int FaultMsg_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 dinPGPDataType_PGPKeyID_BYTES_SIZE 350 -#define dinPGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define dinPGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinPGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[dinPGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[dinPGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinPGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 dinSignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinSignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[dinSignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignaturePropertyType_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[dinSignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -#define dinMeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,meterIDType is 32 */ -#define dinMeterInfoType_SigMeterReading_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType is 32 */ -struct dinMeterInfoType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterID, urn:iso:15118:2:2010:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[dinMeterInfoType_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterReading, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType MeterReading ; - unsigned int MeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading, urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType */ - struct { - uint8_t bytes[dinMeterInfoType_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - unsigned int SigMeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":MeterStatus, urn:iso:15118:2:2010:MsgDataTypes,meterStatusType */ - int16_t MeterStatus ; - unsigned int MeterStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TMeter, http://www.w3.org/2001/XMLSchema,long */ - int64_t TMeter ; - unsigned int TMeter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSubCertificatesType_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinSubCertificatesType_Certificate_ARRAY_SIZE 5 -struct dinSubCertificatesType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Certificate, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[dinSubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinSubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -#define dinMeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinMeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -struct dinMeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinMeteringReceiptReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionID, urn:iso:15118:2:2010:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[dinMeteringReceiptReqType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* element: "urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - unsigned int SAScheduleTupleID_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct dinMeterInfoType MeterInfo ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -struct dinPowerDeliveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; - unsigned int AC_EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct dinWeldingDetectionResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct dinContractAuthenticationResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct dinSelectedServiceListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SelectedService, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinSelectedServiceType array[dinSelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -struct dinCurrentDemandResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentCurrent ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSECurrentLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEVoltageLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEPowerLimitAchieved ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - unsigned int EVSEMaximumPowerLimit_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -struct dinAC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t DepartureTime ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EAmount, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EAmount ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaxVoltage ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaxCurrent ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMinCurrent ; -}; - -/* 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'. */ -#define dinX509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define dinX509DataType_X509SKI_BYTES_SIZE 350 -#define dinX509DataType_X509SKI_ARRAY_SIZE 1 -#define dinX509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinX509DataType_X509SubjectName_ARRAY_SIZE 1 -#define dinX509DataType_X509Certificate_BYTES_SIZE 350 -#define dinX509DataType_X509Certificate_ARRAY_SIZE 1 -#define dinX509DataType_X509CRL_BYTES_SIZE 350 -#define dinX509DataType_X509CRL_ARRAY_SIZE 1 -#define dinX509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinX509DataType { - /* 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 { - struct dinX509IssuerSerialType array[dinX509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinX509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinX509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[dinX509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[dinX509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinX509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -#define dinChargingStatusResType_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -struct dinChargingStatusResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEID, urn:iso:15118:2:2010:MsgDataTypes,evseIDType */ - struct { - uint8_t bytes[dinChargingStatusResType_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaxCurrent ; - unsigned int EVSEMaxCurrent_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct dinMeterInfoType MeterInfo ; - unsigned int MeterInfo_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ - int ReceiptRequired ; - /* element: "urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct dinWeldingDetectionReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; -}; - -/* 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 dinSignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct dinSignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignaturePropertiesType_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 dinSignaturePropertyType array[dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -struct dinDC_EVPowerDeliveryParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct dinCableCheckReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -struct dinDC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVEnergyCapacity ; - unsigned int EVEnergyCapacity_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVEnergyRequest ; - unsigned int EVEnergyRequest_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FullSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t FullSOC ; - unsigned int FullSOC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":BulkSOC, urn:iso:15118:2:2010:MsgDataTypes,percentValueType */ - int8_t BulkSOC ; - unsigned int BulkSOC_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct dinPMaxScheduleType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t PMaxScheduleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ - struct { - struct dinPMaxScheduleEntryType array[dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -struct dinServicePaymentSelectionReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2010:MsgDataTypes,paymentOptionType */ - dinpaymentOptionType SelectedPaymentOption ; - /* element: "urn:iso:15118:2:2010:MsgBody":SelectedServiceList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSelectedServiceListType SelectedServiceList ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct dinPreChargeResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -struct dinDC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinimumCurrentLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEMinimumVoltageLimit ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSECurrentRegulationTolerance ; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEPeakCurrentRipple ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -#define dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinPaymentDetailsResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":GenChallenge, urn:iso:15118:2:2010:MsgDataTypes,genChallengeType */ - struct { - exi_string_character_t characters[dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - /* element: "urn:iso:15118:2:2010:MsgBody":DateTimeNow, http://www.w3.org/2001/XMLSchema,long */ - int64_t DateTimeNow ; -}; - -/* 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 dinKeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinKeyValueType { - /* 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 dinDSAKeyValueType 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 dinRSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinKeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -struct dinPowerDeliveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ReadyToChargeState, http://www.w3.org/2001/XMLSchema,boolean */ - int ReadyToChargeState ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingProfile, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinChargingProfileType ChargingProfile ; - unsigned int ChargingProfile_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - unsigned int EVPowerDeliveryParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -#define dinCertificateChainType_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -struct dinCertificateChainType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Certificate, urn:iso:15118:2:2010:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[dinCertificateChainType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SubCertificates, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSubCertificatesType SubCertificates ; - unsigned int SubCertificates_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -#define dinParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[dinParameterType_Name_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Name ; - /* attribute: ValueType {urn:iso:15118:2:2010:MsgDataTypes,valueType} */ - dinvalueType ValueType ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":boolValue, http://www.w3.org/2001/XMLSchema,boolean */ - int boolValue ; - unsigned int boolValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":byteValue, http://www.w3.org/2001/XMLSchema,byte */ - int8_t byteValue ; - unsigned int byteValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":shortValue, http://www.w3.org/2001/XMLSchema,short */ - int16_t shortValue ; - unsigned int shortValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":intValue, http://www.w3.org/2001/XMLSchema,int */ - int32_t intValue ; - unsigned int intValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":physicalValue, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType physicalValue ; - unsigned int physicalValue_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":stringValue, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[dinParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinParameterSetType_Parameter_ARRAY_SIZE 16 -struct dinParameterSetType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Parameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ - struct { - struct dinParameterType array[dinParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -struct dinCurrentDemandReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetCurrent ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumVoltageLimit ; - unsigned int EVMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumCurrentLimit ; - unsigned int EVMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; - /* element: "urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType RemainingTimeToFullSoC ; - unsigned int RemainingTimeToFullSoC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType RemainingTimeToBulkSoC ; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -struct dinPreChargeReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct dinDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetVoltage ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct dinPhysicalValueType EVTargetCurrent ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -struct dinChargeParameterDiscoveryReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType, urn:iso:15118:2:2010:MsgDataTypes,EVRequestedEnergyTransferType */ - dinEVRequestedEnergyTransferType EVRequestedEnergyTransferType ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVChargeParameterType EVChargeParameter ; - unsigned int EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - unsigned int AC_EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - unsigned int DC_EVChargeParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinConsumptionCostType_Cost_ARRAY_SIZE 5 -struct dinConsumptionCostType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":startValue, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t startValue ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Cost, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinCostType array[dinConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -struct dinServiceType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ServiceTag, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ - struct dinServiceTagType ServiceTag ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinServiceTagListType_Service_ARRAY_SIZE 8 -struct dinServiceTagListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":Service, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ - struct { - struct dinServiceType array[dinServiceTagListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -#define dinSessionSetupResType_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -struct dinSessionSetupResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEID, urn:iso:15118:2:2010:MsgDataTypes,evseIDType */ - struct { - uint8_t bytes[dinSessionSetupResType_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2010:MsgBody":DateTimeNow, http://www.w3.org/2001/XMLSchema,long */ - int64_t DateTimeNow ; - unsigned int DateTimeNow_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -struct dinMeteringReceiptResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEStatusType AC_EVSEStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct dinServiceParameterListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ParameterSet, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct { - struct dinParameterSetType array[dinServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -#define dinCertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -#define dinCertificateUpdateReqType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -struct dinCertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateUpdateReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateUpdateReqType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct dinServicePaymentSelectionResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; -}; - -/* 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'. */ -#define dinKeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_KeyName_ARRAY_SIZE 1 -#define dinKeyInfoType_KeyValue_ARRAY_SIZE 1 -#define dinKeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define dinKeyInfoType_X509Data_ARRAY_SIZE 1 -#define dinKeyInfoType_PGPData_ARRAY_SIZE 1 -#define dinKeyInfoType_SPKIData_ARRAY_SIZE 1 -#define dinKeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinKeyInfoType_MgmtData_ARRAY_SIZE 1 -#define dinKeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct dinKeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinKeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinKeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinKeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct dinKeyValueType array[dinKeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct dinRetrievalMethodType array[dinKeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct dinX509DataType array[dinKeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct dinPGPDataType array[dinKeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct dinSPKIDataType array[dinKeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[dinKeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[dinKeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[dinKeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -#define dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinPaymentDetailsReqType { - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct dinCableCheckResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ - struct dinDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -#define dinCertificateInstallationResType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinCertificateInstallationResType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinCertificateInstallationResType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateInstallationResType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey, urn:iso:15118:2:2010:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateInstallationResType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -struct dinServiceDetailResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceID, urn:iso:15118:2:2010:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceParameterList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -#define dinCertificateUpdateResType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinCertificateUpdateResType_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -struct dinCertificateUpdateResType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinCertificateUpdateResType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct dinCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey, urn:iso:15118:2:2010:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2010:MsgBody":DHParams, urn:iso:15118:2:2010:MsgDataTypes,dHParamsType */ - struct { - uint8_t bytes[dinCertificateUpdateResType_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractID, urn:iso:15118:2:2010:MsgDataTypes,contractIDType */ - struct { - exi_string_character_t characters[dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - /* element: "urn:iso:15118:2:2010:MsgBody":RetryCounter, http://www.w3.org/2001/XMLSchema,short */ - int16_t RetryCounter ; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -#define dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 5 -struct dinSalesTariffEntryType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t EPriceLevel ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct { - struct dinConsumptionCostType array[dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -struct dinServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentOptions, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinPaymentOptionsType PaymentOptions ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeService, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ - struct dinServiceChargeType ChargeService ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinServiceTagListType ServiceList ; - unsigned int ServiceList_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'. */ -#define dinSignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSignatureType_Object_ARRAY_SIZE 1 -struct dinSignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[dinSignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct dinSignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct dinSignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct dinKeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct dinObjectType array[dinSignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define dinSalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType is 32 */ -#define dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct dinSalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,IDREF} */ - struct { - exi_string_character_t characters[dinSalesTariffType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SalesTariffID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription, urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType */ - struct { - exi_string_character_t characters[dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - unsigned int SalesTariffDescription_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t NumEPriceLevels ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ - struct { - struct dinSalesTariffEntryType array[dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -#define dinMessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -struct dinMessageHeaderType { - /* element: "urn:iso:15118:2:2010:MsgHeader":SessionID, urn:iso:15118:2:2010:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[dinMessageHeaderType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* element: "urn:iso:15118:2:2010:MsgHeader":Notification, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ - struct dinNotificationType 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 dinSignatureType Signature ; - unsigned int Signature_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -struct dinSAScheduleTupleType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2010:MsgDataTypes,SAIDType */ - int16_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinPMaxScheduleType PMaxSchedule ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SalesTariff, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct dinSalesTariffType SalesTariff ; - unsigned int SalesTariff_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -#define dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE 5 -struct dinSAScheduleListType { - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct dinSAScheduleTupleType array[dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE]; - uint16_t arrayLen; - } SAScheduleTuple; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -struct dinChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2010:MsgBody":ResponseCode, urn:iso:15118:2:2010:MsgDataTypes,responseCodeType */ - dinresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2010:MsgBody":EVSEProcessing, urn:iso:15118:2:2010:MsgDataTypes,EVSEProcessingType */ - dinEVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SASchedules, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinSASchedulesType SASchedules ; - unsigned int SASchedules_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":SAScheduleList, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ - struct dinSAScheduleListType SAScheduleList ; - unsigned int SAScheduleList_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinEVSEChargeParameterType EVSEChargeParameter ; - unsigned int EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - unsigned int AC_EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - unsigned int DC_EVSEChargeParameter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -struct dinBodyType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2010:MsgDef":BodyElement, Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct dinBodyBaseType BodyElement ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionSetupReq, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ - struct dinSessionSetupReqType SessionSetupReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionSetupRes, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ - struct dinSessionSetupResType SessionSetupRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDiscoveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDiscoveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDetailReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ - struct dinServiceDetailReqType ServiceDetailReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServiceDetailRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ - struct dinServiceDetailResType ServiceDetailRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServicePaymentSelectionReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ServicePaymentSelectionRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentDetailsReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ - struct dinPaymentDetailsReqType PaymentDetailsReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PaymentDetailsRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ - struct dinPaymentDetailsResType PaymentDetailsRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractAuthenticationReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ContractAuthenticationRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct dinContractAuthenticationResType ContractAuthenticationRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeParameterDiscoveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargeParameterDiscoveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PowerDeliveryReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ - struct dinPowerDeliveryReqType PowerDeliveryReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PowerDeliveryRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinPowerDeliveryResType PowerDeliveryRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingStatusReq, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct dinChargingStatusReqType ChargingStatusReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":ChargingStatusRes, Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinChargingStatusResType ChargingStatusRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":MeteringReceiptReq, Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ - struct dinMeteringReceiptReqType MeteringReceiptReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ - struct dinMeteringReceiptResType MeteringReceiptRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionStopReq, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct dinSessionStopType SessionStopReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct dinSessionStopResType SessionStopRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateUpdateReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ - struct dinCertificateUpdateReqType CertificateUpdateReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateUpdateRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ - struct dinCertificateUpdateResType CertificateUpdateRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateInstallationReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ - struct dinCertificateInstallationReqType CertificateInstallationReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CertificateInstallationRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ - struct dinCertificateInstallationResType CertificateInstallationRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct dinCableCheckReqType CableCheckReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CableCheckRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct dinCableCheckResType CableCheckRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":PreChargeReq, Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ - struct dinPreChargeReqType PreChargeReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":PreChargeRes, Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ - struct dinPreChargeResType PreChargeRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":CurrentDemandReq, Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ - struct dinCurrentDemandReqType CurrentDemandReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":CurrentDemandRes, Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ - struct dinCurrentDemandResType CurrentDemandRes ; - /* element: "urn:iso:15118:2:2010:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct dinWeldingDetectionReqType WeldingDetectionReq ; - /* element: "urn:iso:15118:2:2010:MsgBody":WeldingDetectionRes, Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ - struct dinWeldingDetectionResType WeldingDetectionRes ; -#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 ServicePaymentSelectionReq_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_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 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 WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -struct dinAnonType_V2G_Message { - /* element: "urn:iso:15118:2:2010:MsgDef":Header, Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ - struct dinMessageHeaderType Header ; - /* element: "urn:iso:15118:2:2010:MsgDef":Body, Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ - struct dinBodyType Body ; -}; - - - -#define dinEXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIDocument_DigestValue_BYTES_SIZE 350 -#define dinEXIFragment_Certificate_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinEXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_OEMProvisioningCert_BYTES_SIZE 1200 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,certificateType is 1200 */ -#define dinEXIFragment_Exponent_BYTES_SIZE 350 -#define dinEXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet length for urn:iso:15118:2:2010:MsgDataTypes,sessionIDType is 8 */ -#define dinEXIFragment_PgenCounter_BYTES_SIZE 350 -#define dinEXIFragment_EVCCID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evccIDType is 8 */ -#define dinEXIFragment_RootCertificateID_CHARACTERS_SIZE 40 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,rootCertificateIDType is 40 */ -#define dinEXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define dinEXIFragment_Seed_BYTES_SIZE 350 -#define dinEXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_ContractID_CHARACTERS_SIZE 24 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,contractIDType is 24 */ -#define dinEXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_P_BYTES_SIZE 350 -#define dinEXIFragment_Q_BYTES_SIZE 350 -#define dinEXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_G_BYTES_SIZE 350 -#define dinEXIFragment_J_BYTES_SIZE 350 -#define dinEXIFragment_X509CRL_BYTES_SIZE 350 -#define dinEXIFragment_Y_BYTES_SIZE 350 -#define dinEXIFragment_DigestValue_BYTES_SIZE 350 -#define dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE 128 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,privateKeyType is 128 */ -#define dinEXIFragment_SPKISexp_BYTES_SIZE 350 -#define dinEXIFragment_DHParams_BYTES_SIZE 256 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,dHParamsType is 256 */ -#define dinEXIFragment_PGPKeyID_BYTES_SIZE 350 -#define dinEXIFragment_X509Certificate_BYTES_SIZE 350 -#define dinEXIFragment_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceNameType is 32 */ -#define dinEXIFragment_EVSEID_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,evseIDType is 32 */ -#define dinEXIFragment_ServiceScope_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,serviceScopeType is 32 */ -#define dinEXIFragment_GenChallenge_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,tariffDescriptionType is 32 */ -#define dinEXIFragment_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,faultMsgType is 64 */ -#define dinEXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_SigMeterReading_BYTES_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,sigMeterReadingType is 32 */ -#define dinEXIFragment_X509SKI_BYTES_SIZE 350 -#define dinEXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define dinEXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2010:MsgDataTypes,meterIDType is 32 */ -#define dinEXIFragment_Modulus_BYTES_SIZE 350 - - -/* Global elements of EXI Document */ -struct dinEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct dinBodyBaseType BodyElement ; - struct dinAnonType_V2G_Message V2G_Message ; - struct dinSignaturePropertyType SignatureProperty ; - struct dinDSAKeyValueType DSAKeyValue ; - struct dinSignaturePropertiesType SignatureProperties ; - struct dinKeyValueType KeyValue ; - struct dinTransformsType Transforms ; - struct dinDigestMethodType DigestMethod ; - struct dinSignatureType Signature ; - struct dinRetrievalMethodType RetrievalMethod ; - struct dinManifestType Manifest ; - struct dinReferenceType Reference ; - struct dinCanonicalizationMethodType CanonicalizationMethod ; - struct dinRSAKeyValueType RSAKeyValue ; - struct dinTransformType Transform ; - struct dinPGPDataType PGPData ; - struct { - exi_string_character_t characters[dinEXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct dinSignatureMethodType SignatureMethod ; - struct dinKeyInfoType KeyInfo ; - struct dinSPKIDataType SPKIData ; - struct dinX509DataType X509Data ; - struct dinSignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[dinEXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[dinEXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct dinSignedInfoType SignedInfo ; - struct dinObjectType Object ; - struct dinDC_EVSEStatusType DC_EVSEStatus ; - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - struct dinSalesTariffEntryType SalesTariffEntry ; - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct dinSASchedulesType SASchedules ; - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - struct dinSAScheduleListType SAScheduleList ; - struct dinDC_EVStatusType DC_EVStatus ; - struct dinServiceChargeType ServiceCharge ; - struct dinEVStatusType EVStatus ; - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct dinEVSEStatusType EVSEStatus ; - struct dinIntervalType TimeInterval ; - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct dinEVSEChargeParameterType EVSEChargeParameter ; - struct dinAC_EVSEStatusType AC_EVSEStatus ; - struct dinEntryType Entry ; - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct dinPMaxScheduleEntryType PMaxScheduleEntry ; - struct dinEVChargeParameterType EVChargeParameter ; - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - struct dinMeteringReceiptReqType MeteringReceiptReq ; - struct dinPaymentDetailsReqType PaymentDetailsReq ; - struct dinMeteringReceiptResType MeteringReceiptRes ; - struct dinPaymentDetailsResType PaymentDetailsRes ; - struct dinSessionSetupReqType SessionSetupReq ; - struct dinSessionSetupResType SessionSetupRes ; - struct dinCableCheckReqType CableCheckReq ; - struct dinCableCheckResType CableCheckRes ; - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - struct dinCertificateInstallationReqType CertificateInstallationReq ; - struct dinContractAuthenticationResType ContractAuthenticationRes ; - struct dinCertificateInstallationResType CertificateInstallationRes ; - struct dinWeldingDetectionReqType WeldingDetectionReq ; - struct dinWeldingDetectionResType WeldingDetectionRes ; - struct dinCertificateUpdateReqType CertificateUpdateReq ; - struct dinCertificateUpdateResType CertificateUpdateRes ; - struct dinPowerDeliveryReqType PowerDeliveryReq ; - struct dinPowerDeliveryResType PowerDeliveryRes ; - struct dinChargingStatusReqType ChargingStatusReq ; - struct dinChargingStatusResType ChargingStatusRes ; - struct dinCurrentDemandReqType CurrentDemandReq ; - struct dinPreChargeReqType PreChargeReq ; - struct dinCurrentDemandResType CurrentDemandRes ; - struct dinPreChargeResType PreChargeRes ; - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - struct dinSessionStopType SessionStopReq ; - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - struct dinSessionStopResType SessionStopRes ; - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct dinServiceDetailReqType ServiceDetailReq ; - struct dinServiceDetailResType ServiceDetailRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int BodyElement_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int DC_EVSEStatus_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 AC_EVChargeParameter_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int ServiceCharge_isUsed:1; - unsigned int EVStatus_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 AC_EVSEChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int ServicePaymentSelectionReq_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct dinEXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - dinunitSymbolType Unit ; - struct dinPhysicalValueType EVSEMaximumCurrentLimit ; - struct dinEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - int16_t ChargingProfileEntryMaxPower ; - int64_t TMeter ; - int EVSEPowerLimitAchieved ; - uint32_t duration ; - struct dinPhysicalValueType EVMaximumCurrentLimit ; - struct dinParameterType Parameter ; - dinEVSEProcessingType EVSEProcessing ; - struct dinAC_EVChargeParameterType AC_EVChargeParameter ; - struct dinPMaxScheduleEntryType PMaxScheduleEntry ; - struct dinPhysicalValueType EVSEMaximumVoltageLimit ; - struct dinSelectedServiceType SelectedService ; - struct { - uint8_t bytes[dinEXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - struct dinPhysicalValueType EVSEMaximumPowerLimit ; - int EVReady ; - int64_t X509SerialNumber ; - struct dinRetrievalMethodType RetrievalMethod ; - int16_t RetryCounter ; - struct dinDC_EVSEStatusType DC_EVSEStatus ; - struct dinMeteringReceiptReqType MeteringReceiptReq ; - int ReadyToChargeState ; - int8_t Multiplier ; - uint8_t EPriceLevel ; - struct { - exi_string_character_t characters[dinEXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - struct dinServiceDiscoveryReqType ServiceDiscoveryReq ; - struct dinTransformsType Transforms ; - struct dinMeteringReceiptResType MeteringReceiptRes ; - struct dinPreChargeReqType PreChargeReq ; - struct { - uint8_t bytes[dinEXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - struct dinServiceDiscoveryResType ServiceDiscoveryRes ; - dinresponseCodeType ResponseCode ; - struct dinContractAuthenticationReqType ContractAuthenticationReq ; - struct dinCertificateChainType ContractSignatureCertChain ; - struct dinContractAuthenticationResType ContractAuthenticationRes ; - int64_t HMACOutputLength ; - int BulkChargingComplete ; - struct { - uint8_t bytes[dinEXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct dinDC_EVStatusType DC_EVStatus ; - struct dinSAScheduleTupleType SAScheduleTuple ; - uint32_t DepartureTime ; - struct dinX509IssuerSerialType X509IssuerSerial ; - int16_t SAScheduleTupleID ; - struct dinSPKIDataType SPKIData ; - struct dinRelativeTimeIntervalType RelativeTimeInterval ; - struct dinPhysicalValueType EVEnergyRequest ; - struct dinPreChargeResType PreChargeRes ; - struct { - uint8_t bytes[dinEXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct dinPMaxScheduleType PMaxSchedule ; - struct dinServiceChargeType ServiceCharge ; - struct { - uint8_t bytes[dinEXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct dinChargingStatusReqType ChargingStatusReq ; - struct dinX509DataType X509Data ; - struct dinSalesTariffEntryType SalesTariffEntry ; - struct dinKeyValueType KeyValue ; - struct dinChargingStatusResType ChargingStatusRes ; - struct dinAnonType_V2G_Message V2G_Message ; - struct dinServicePaymentSelectionReqType ServicePaymentSelectionReq ; - dinisolationLevelType EVSEIsolationStatus ; - struct dinServicePaymentSelectionResType ServicePaymentSelectionRes ; - struct dinPhysicalValueType EVSEPresentVoltage ; - struct dinBodyBaseType BodyElement ; - struct { - uint8_t bytes[dinEXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct dinPGPDataType PGPData ; - struct { - exi_string_character_t characters[dinEXIFragment_RootCertificateID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } RootCertificateID ; - dinfaultCodeType FaultCode ; - struct dinCableCheckReqType CableCheckReq ; - int EVSEVoltageLimitAchieved ; - int EVRESSConditioning ; - struct dinMeterInfoType MeterInfo ; - struct dinCableCheckResType CableCheckRes ; - uint32_t ChargingProfileEntryStart ; - struct dinSignaturePropertyType SignatureProperty ; - struct dinPhysicalValueType EVMaxCurrent ; - struct { - uint8_t bytes[dinEXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct { - uint8_t bytes[dinEXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct dinRSAKeyValueType RSAKeyValue ; - dincostKindType costKind ; - struct dinPhysicalValueType EAmount ; - struct dinPhysicalValueType EVSEPresentCurrent ; - struct dinPowerDeliveryResType PowerDeliveryRes ; - uint8_t NumEPriceLevels ; - struct dinSessionStopResType SessionStopRes ; - struct dinPowerDeliveryReqType PowerDeliveryReq ; - struct dinSessionStopType SessionStopReq ; - struct { - exi_string_character_t characters[dinEXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - int8_t BulkSOC ; - int16_t PMax ; - int16_t ParameterSetID ; - struct { - exi_string_character_t characters[dinEXIFragment_ContractID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ContractID ; - struct dinSignatureType Signature ; - struct dinPhysicalValueType EVMaxVoltage ; - int ReceiptRequired ; - int ChargingComplete ; - struct dinChargingProfileType ChargingProfile ; - struct dinPaymentOptionsType PaymentOptions ; - struct dinSessionSetupResType SessionSetupRes ; - struct dinServiceDetailResType ServiceDetailRes ; - struct dinDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct dinPaymentDetailsResType PaymentDetailsRes ; - struct dinPaymentDetailsReqType PaymentDetailsReq ; - struct { - exi_string_character_t characters[dinEXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - int16_t Value ; - dinEVSENotificationType EVSENotification ; - struct dinPhysicalValueType EVTargetCurrent ; - struct dinPhysicalValueType RemainingTimeToBulkSoC ; - struct dinSessionSetupReqType SessionSetupReq ; - int EVSECurrentLimitAchieved ; - struct dinServiceDetailReqType ServiceDetailReq ; - int8_t byteValue ; - struct dinPhysicalValueType EVMaximumPowerLimit ; - int PowerSwitchClosed ; - struct dinManifestType Manifest ; - struct { - uint8_t bytes[dinEXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct dinSAScheduleListType SAScheduleList ; - struct { - uint8_t bytes[dinEXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[dinEXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[dinEXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[dinEXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct dinCertificateInstallationResType CertificateInstallationRes ; - struct dinCertificateInstallationReqType CertificateInstallationReq ; - struct dinSalesTariffType SalesTariff ; - struct dinMessageHeaderType Header ; - struct dinPhysicalValueType EVSEMinimumCurrentLimit ; - struct { - uint8_t bytes[dinEXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct { - uint8_t bytes[dinEXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct { - uint8_t bytes[dinEXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct dinDC_EVChargeParameterType DC_EVChargeParameter ; - struct { - uint8_t bytes[dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE]; - uint16_t bytesLen; - } ContractSignatureEncryptedPrivateKey ; - struct dinDigestMethodType DigestMethod ; - struct { - uint8_t bytes[dinEXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct dinServiceChargeType ChargeService ; - struct dinPhysicalValueType EVSEEnergyToBeDelivered ; - struct dinSignaturePropertiesType SignatureProperties ; - struct dinPhysicalValueType EVSEMaxCurrent ; - struct dinEVSEStatusType EVSEStatus ; - struct dinServiceType Service ; - struct { - uint8_t bytes[dinEXIFragment_DHParams_BYTES_SIZE]; - uint16_t bytesLen; - } DHParams ; - struct { - uint8_t bytes[dinEXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct dinDSAKeyValueType DSAKeyValue ; - dinEVSESupportedEnergyTransferType EnergyTransferType ; - struct dinWeldingDetectionResType WeldingDetectionRes ; - int FreeService ; - struct dinSelectedServiceListType SelectedServiceList ; - struct dinWeldingDetectionReqType WeldingDetectionReq ; - struct dinPhysicalValueType EVTargetVoltage ; - struct dinCanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[dinEXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct dinCertificateUpdateResType CertificateUpdateRes ; - struct dinCertificateUpdateReqType CertificateUpdateReq ; - struct dinPhysicalValueType EVSEMaxVoltage ; - struct dinSignedInfoType SignedInfo ; - struct dinAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct dinPhysicalValueType EVEnergyCapacity ; - uint16_t ServiceID ; - struct dinPhysicalValueType EVSECurrentRegulationTolerance ; - struct dinServiceParameterListType ServiceParameterList ; - struct dinListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct dinProfileEntryType ProfileEntry ; - struct dinPhysicalValueType EVSEMinimumVoltageLimit ; - struct dinCurrentDemandResType CurrentDemandRes ; - int8_t EVRESSSOC ; - struct dinPhysicalValueType MeterReading ; - struct dinCurrentDemandReqType CurrentDemandReq ; - struct dinPhysicalValueType physicalValue ; - struct dinIntervalType TimeInterval ; - struct dinAC_EVSEStatusType AC_EVSEStatus ; - struct dinPhysicalValueType EVMaximumVoltageLimit ; - struct dinSignatureValueType SignatureValue ; - int64_t DateTimeNow ; - struct dinServiceTagType ServiceTag ; - int32_t intValue ; - dinpaymentOptionType SelectedPaymentOption ; - struct { - exi_string_character_t characters[dinEXIFragment_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - int EVCabinConditioning ; - struct { - uint8_t bytes[dinEXIFragment_EVSEID_BYTES_SIZE]; - uint16_t bytesLen; - } EVSEID ; - struct { - exi_string_character_t characters[dinEXIFragment_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - int16_t MeterStatus ; - dinEVRequestedEnergyTransferType EVRequestedEnergyTransferType ; - dinserviceCategoryType ServiceCategory ; - struct { - exi_string_character_t characters[dinEXIFragment_GenChallenge_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GenChallenge ; - struct { - exi_string_character_t characters[dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - uint32_t NotificationMaxDelay ; - int boolValue ; - dinDC_EVSEStatusCodeType EVSEStatusCode ; - struct { - exi_string_character_t characters[dinEXIFragment_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - struct { - exi_string_character_t characters[dinEXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct dinParameterSetType ParameterSet ; - struct { - uint8_t bytes[dinEXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - struct dinEVSEChargeParameterType EVSEChargeParameter ; - struct dinBodyType Body ; - struct dinSASchedulesType SASchedules ; - struct dinKeyInfoType KeyInfo ; - int16_t PMaxScheduleID ; - struct dinPhysicalValueType RemainingTimeToFullSoC ; - struct dinEVStatusType EVStatus ; - struct dinSubCertificatesType SubCertificates ; - dinpaymentOptionType PaymentOption ; - struct { - uint8_t bytes[dinEXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct dinServiceTagListType ServiceList ; - struct dinCostType Cost ; - struct dinSignatureMethodType SignatureMethod ; - struct dinPhysicalValueType EVSEMinCurrent ; - struct dinConsumptionCostType ConsumptionCost ; - struct dinPhysicalValueType EVSEPeakCurrentRipple ; - dinDC_EVErrorCodeType EVErrorCode ; - struct dinEVChargeParameterType EVChargeParameter ; - uint32_t start ; - struct { - exi_string_character_t characters[dinEXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct dinReferenceType Reference ; - struct dinPhysicalValueType EVMinCurrent ; - int8_t FullSOC ; - uint32_t amount ; - int16_t shortValue ; - struct dinDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct dinEntryType Entry ; - int16_t SalesTariffID ; - struct { - exi_string_character_t characters[dinEXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct dinChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - int8_t amountMultiplier ; - struct dinChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct dinTransformType Transform ; - struct dinObjectType Object ; - int RCD ; - struct dinNotificationType Notification ; - uint32_t startValue ; - struct { - uint8_t bytes[dinEXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int Unit_isUsed:1; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int ChargingProfileEntryMaxPower_isUsed:1; - unsigned int TMeter_isUsed:1; - unsigned int EVSEPowerLimitAchieved_isUsed:1; - unsigned int duration_isUsed:1; - unsigned int EVMaximumCurrentLimit_isUsed:1; - unsigned int Parameter_isUsed:1; - unsigned int EVSEProcessing_isUsed:1; - unsigned int AC_EVChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - unsigned int SelectedService_isUsed:1; - unsigned int Certificate_isUsed:1; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - unsigned int EVReady_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int RetryCounter_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int ReadyToChargeState_isUsed:1; - unsigned int Multiplier_isUsed:1; - unsigned int EPriceLevel_isUsed:1; - unsigned int stringValue_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int OEMProvisioningCert_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int ResponseCode_isUsed:1; - unsigned int ContractAuthenticationReq_isUsed:1; - unsigned int ContractSignatureCertChain_isUsed:1; - unsigned int ContractAuthenticationRes_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int SAScheduleTuple_isUsed:1; - unsigned int DepartureTime_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; - unsigned int EVEnergyRequest_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int SessionID_isUsed:1; - unsigned int PMaxSchedule_isUsed:1; - unsigned int ServiceCharge_isUsed:1; - unsigned int PgenCounter_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SalesTariffEntry_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int ServicePaymentSelectionReq_isUsed:1; - unsigned int EVSEIsolationStatus_isUsed:1; - unsigned int ServicePaymentSelectionRes_isUsed:1; - unsigned int EVSEPresentVoltage_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int EVCCID_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int RootCertificateID_isUsed:1; - unsigned int FaultCode_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int EVSEVoltageLimitAchieved_isUsed:1; - unsigned int EVRESSConditioning_isUsed:1; - unsigned int MeterInfo_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int ChargingProfileEntryStart_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int EVMaxCurrent_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int costKind_isUsed:1; - unsigned int EAmount_isUsed:1; - unsigned int EVSEPresentCurrent_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int NumEPriceLevels_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int BulkSOC_isUsed:1; - unsigned int PMax_isUsed:1; - unsigned int ParameterSetID_isUsed:1; - unsigned int ContractID_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int EVMaxVoltage_isUsed:1; - unsigned int ReceiptRequired_isUsed:1; - unsigned int ChargingComplete_isUsed:1; - unsigned int ChargingProfile_isUsed:1; - unsigned int PaymentOptions_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int Value_isUsed:1; - unsigned int EVSENotification_isUsed:1; - unsigned int EVTargetCurrent_isUsed:1; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int EVSECurrentLimitAchieved_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int byteValue_isUsed:1; - unsigned int EVMaximumPowerLimit_isUsed:1; - unsigned int PowerSwitchClosed_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int P_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int SalesTariff_isUsed:1; - unsigned int Header_isUsed:1; - unsigned int EVSEMinimumCurrentLimit_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int ChargeService_isUsed:1; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int EVSEMaxCurrent_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int Service_isUsed:1; - unsigned int DHParams_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int EnergyTransferType_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int FreeService_isUsed:1; - unsigned int SelectedServiceList_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int EVTargetVoltage_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int EVSEMaxVoltage_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int AC_EVSEChargeParameter_isUsed:1; - unsigned int EVEnergyCapacity_isUsed:1; - unsigned int ServiceID_isUsed:1; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - unsigned int ServiceParameterList_isUsed:1; - unsigned int ListOfRootCertificateIDs_isUsed:1; - unsigned int ProfileEntry_isUsed:1; - unsigned int EVSEMinimumVoltageLimit_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int EVRESSSOC_isUsed:1; - unsigned int MeterReading_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int physicalValue_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int EVMaximumVoltageLimit_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int DateTimeNow_isUsed:1; - unsigned int ServiceTag_isUsed:1; - unsigned int intValue_isUsed:1; - unsigned int SelectedPaymentOption_isUsed:1; - unsigned int ServiceName_isUsed:1; - unsigned int EVCabinConditioning_isUsed:1; - unsigned int EVSEID_isUsed:1; - unsigned int ServiceScope_isUsed:1; - unsigned int MeterStatus_isUsed:1; - unsigned int EVRequestedEnergyTransferType_isUsed:1; - unsigned int ServiceCategory_isUsed:1; - unsigned int GenChallenge_isUsed:1; - unsigned int SalesTariffDescription_isUsed:1; - unsigned int NotificationMaxDelay_isUsed:1; - unsigned int boolValue_isUsed:1; - unsigned int EVSEStatusCode_isUsed:1; - unsigned int FaultMsg_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int ParameterSet_isUsed:1; - unsigned int SigMeterReading_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; - unsigned int Body_isUsed:1; - unsigned int SASchedules_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int PMaxScheduleID_isUsed:1; - unsigned int RemainingTimeToFullSoC_isUsed:1; - unsigned int EVStatus_isUsed:1; - unsigned int SubCertificates_isUsed:1; - unsigned int PaymentOption_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int ServiceList_isUsed:1; - unsigned int Cost_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int EVSEMinCurrent_isUsed:1; - unsigned int ConsumptionCost_isUsed:1; - unsigned int EVSEPeakCurrentRipple_isUsed:1; - unsigned int EVErrorCode_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int start_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int EVMinCurrent_isUsed:1; - unsigned int FullSOC_isUsed:1; - unsigned int amount_isUsed:1; - unsigned int shortValue_isUsed:1; - unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int Entry_isUsed:1; - unsigned int SalesTariffID_isUsed:1; - unsigned int MeterID_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int amountMultiplier_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int RCD_isUsed:1; - unsigned int Notification_isUsed:1; - unsigned int startValue_isUsed:1; - unsigned int Modulus_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_dinEXIDocument(struct dinEXIDocument* exiDoc); -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -void init_dinEXIFragment(struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ -void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -void init_dinBodyType(struct dinBodyType* dinBodyType); -void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType); -void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType); -void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType); -void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType); -void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType); -void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType); -void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType); -void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType); -void init_dinTransformType(struct dinTransformType* dinTransformType); -void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -void init_dinX509DataType(struct dinX509DataType* dinX509DataType); -void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType); -void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType); -void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType); -void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType); -void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType); -void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType); -void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType); -void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType); -void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType); -void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType); -void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType); -void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType); -void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType); -void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType); -void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType); -void init_dinIntervalType(struct dinIntervalType* dinIntervalType); -void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType); -void init_dinTransformsType(struct dinTransformsType* dinTransformsType); -void init_dinEntryType(struct dinEntryType* dinEntryType); -void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType); -void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType); -void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType); -void init_dinParameterType(struct dinParameterType* dinParameterType); -void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType); -void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType); -void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType); -void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType); -void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType); -void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType); -void init_dinSignatureType(struct dinSignatureType* dinSignatureType); -void init_dinReferenceType(struct dinReferenceType* dinReferenceType); -void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType); -void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType); -void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType); -void init_dinServiceType(struct dinServiceType* dinServiceType); -void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType); -void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType); -void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType); -void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType); -void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType); -void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType); -void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType); -void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType); -void init_dinManifestType(struct dinManifestType* dinManifestType); -void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType); -void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType); -void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType); -void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType); -void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType); -void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType); -void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType); -void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType); -void init_dinObjectType(struct dinObjectType* dinObjectType); -void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType); -void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType); -void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType); -void init_dinCostType(struct dinCostType* dinCostType); -void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType); -void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType); -void init_dinNotificationType(struct dinNotificationType* dinNotificationType); -void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType); -void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType); -void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType); -void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType); -void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType); - - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/din/dinEXIDatatypesDecoder.c b/src/din/dinEXIDatatypesDecoder.c deleted file mode 100644 index 3246f19..0000000 --- a/src/din/dinEXIDatatypesDecoder.c +++ /dev/null @@ -1,17065 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "dinEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "dinEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_din_DATATYPES_DECODER_C -#define EXI_din_DATATYPES_DECODER_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -static int decode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType); -static int decode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType); -static int decode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType); -static int decode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType); -static int decode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType); -static int decode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType); -static int decode_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -static int decode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType); -static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -static int decode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType); -static int decode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType); -static int decode_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType); -static int decode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -static int decode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType); -static int decode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType); -static int decode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -static int decode_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType); -static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -static int decode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -static int decode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -static int decode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType); -static int decode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -static int decode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType); -static int decode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType); -static int decode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -static int decode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -static int decode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType); -static int decode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType); -static int decode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -static int decode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType); -static int decode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType); -static int decode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType); -static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType); -static int decode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType); -static int decode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType); -static int decode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType); -static int decode_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType); -static int decode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType); -static int decode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -static int decode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -static int decode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType); -static int decode_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType); -static int decode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType); -static int decode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType); -static int decode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType); -static int decode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType); -static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType); -static int decode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType); -static int decode_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType); -static int decode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -static int decode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType); -static int decode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -static int decode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType); -static int decode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType); -static int decode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType); -static int decode_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType); -static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType); -static int decode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType); -static int decode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -static int decode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -static int decode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType); -static int decode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType); -static int decode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType); -static int decode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType); -static int decode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType); -static int decode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType); -static int decode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -static int decode_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType); -static int decode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType); -static int decode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType); -static int decode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType); -static int decode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType); -static int decode_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType); -static int decode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -static int decode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType); -static int decode_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType); -static int decode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType); -static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType); -static int decode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -static int decode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -static int decode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType); -static int decode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType); -static int decode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -static int decode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType); -static int decode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -static int decode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType); -static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType); -static int decode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType); -static int decode_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType); -static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType); -static int decode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType); -static int decode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType); -static int decode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -static int decode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType); -static int decode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType); -static int decode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType); -static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType); -static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType); -static int decode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType); -static int decode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int decode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - int grammarID = 0; - int done = 0; - - init_dinMeteringReceiptReqType(dinMeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinMeteringReceiptReqType->Id.charactersLen); - 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, dinMeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinMeteringReceiptReqType->Id_isUsed = 1u; - grammarID = 1; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMeteringReceiptReqType->SessionID.bytesLen) <= dinMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytesLen, dinMeteringReceiptReqType->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:2010:MsgBody}SessionID) ? */ - 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 1: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMeteringReceiptReqType->SessionID.bytesLen) <= dinMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytesLen, dinMeteringReceiptReqType->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:2010:MsgBody}SessionID) ? */ - 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[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - 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, &dinMeteringReceiptReqType->SAScheduleTupleID); - dinMeteringReceiptReqType->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:2010:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType) { - int grammarID = 6; - int done = 0; - - init_dinBodyType(dinBodyType); - - while(!done) { - switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinBodyBaseType(stream, &dinBodyType->BodyElement); - dinBodyType->BodyElement_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinCableCheckReqType(stream, &dinBodyType->CableCheckReq); - dinBodyType->CableCheckReq_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinCableCheckResType(stream, &dinBodyType->CableCheckRes); - dinBodyType->CableCheckRes_isUsed = 1u; - grammarID = 4; - break; - case 3: - errn = decode_dinCertificateInstallationReqType(stream, &dinBodyType->CertificateInstallationReq); - dinBodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 4; - break; - case 4: - errn = decode_dinCertificateInstallationResType(stream, &dinBodyType->CertificateInstallationRes); - dinBodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 4; - break; - case 5: - errn = decode_dinCertificateUpdateReqType(stream, &dinBodyType->CertificateUpdateReq); - dinBodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 4; - break; - case 6: - errn = decode_dinCertificateUpdateResType(stream, &dinBodyType->CertificateUpdateRes); - dinBodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 4; - break; - case 7: - errn = decode_dinChargeParameterDiscoveryReqType(stream, &dinBodyType->ChargeParameterDiscoveryReq); - dinBodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 4; - break; - case 8: - errn = decode_dinChargeParameterDiscoveryResType(stream, &dinBodyType->ChargeParameterDiscoveryRes); - dinBodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 4; - break; - case 9: - errn = decode_dinChargingStatusReqType(stream, &dinBodyType->ChargingStatusReq); - dinBodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 4; - break; - case 10: - errn = decode_dinChargingStatusResType(stream, &dinBodyType->ChargingStatusRes); - dinBodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 4; - break; - case 11: - errn = decode_dinContractAuthenticationReqType(stream, &dinBodyType->ContractAuthenticationReq); - dinBodyType->ContractAuthenticationReq_isUsed = 1u; - grammarID = 4; - break; - case 12: - errn = decode_dinContractAuthenticationResType(stream, &dinBodyType->ContractAuthenticationRes); - dinBodyType->ContractAuthenticationRes_isUsed = 1u; - grammarID = 4; - break; - case 13: - errn = decode_dinCurrentDemandReqType(stream, &dinBodyType->CurrentDemandReq); - dinBodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 4; - break; - case 14: - errn = decode_dinCurrentDemandResType(stream, &dinBodyType->CurrentDemandRes); - dinBodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 4; - break; - case 15: - errn = decode_dinMeteringReceiptReqType(stream, &dinBodyType->MeteringReceiptReq); - dinBodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 4; - break; - case 16: - errn = decode_dinMeteringReceiptResType(stream, &dinBodyType->MeteringReceiptRes); - dinBodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 4; - break; - case 17: - errn = decode_dinPaymentDetailsReqType(stream, &dinBodyType->PaymentDetailsReq); - dinBodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 4; - break; - case 18: - errn = decode_dinPaymentDetailsResType(stream, &dinBodyType->PaymentDetailsRes); - dinBodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 4; - break; - case 19: - errn = decode_dinPowerDeliveryReqType(stream, &dinBodyType->PowerDeliveryReq); - dinBodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 4; - break; - case 20: - errn = decode_dinPowerDeliveryResType(stream, &dinBodyType->PowerDeliveryRes); - dinBodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 4; - break; - case 21: - errn = decode_dinPreChargeReqType(stream, &dinBodyType->PreChargeReq); - dinBodyType->PreChargeReq_isUsed = 1u; - grammarID = 4; - break; - case 22: - errn = decode_dinPreChargeResType(stream, &dinBodyType->PreChargeRes); - dinBodyType->PreChargeRes_isUsed = 1u; - grammarID = 4; - break; - case 23: - errn = decode_dinServiceDetailReqType(stream, &dinBodyType->ServiceDetailReq); - dinBodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 4; - break; - case 24: - errn = decode_dinServiceDetailResType(stream, &dinBodyType->ServiceDetailRes); - dinBodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 4; - break; - case 25: - errn = decode_dinServiceDiscoveryReqType(stream, &dinBodyType->ServiceDiscoveryReq); - dinBodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 4; - break; - case 26: - errn = decode_dinServiceDiscoveryResType(stream, &dinBodyType->ServiceDiscoveryRes); - dinBodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 4; - break; - case 27: - errn = decode_dinServicePaymentSelectionReqType(stream, &dinBodyType->ServicePaymentSelectionReq); - dinBodyType->ServicePaymentSelectionReq_isUsed = 1u; - grammarID = 4; - break; - case 28: - errn = decode_dinServicePaymentSelectionResType(stream, &dinBodyType->ServicePaymentSelectionRes); - dinBodyType->ServicePaymentSelectionRes_isUsed = 1u; - grammarID = 4; - break; - case 29: - errn = decode_dinSessionSetupReqType(stream, &dinBodyType->SessionSetupReq); - dinBodyType->SessionSetupReq_isUsed = 1u; - grammarID = 4; - break; - case 30: - errn = decode_dinSessionSetupResType(stream, &dinBodyType->SessionSetupRes); - dinBodyType->SessionSetupRes_isUsed = 1u; - grammarID = 4; - break; - case 31: - errn = decode_dinSessionStopType(stream, &dinBodyType->SessionStopReq); - dinBodyType->SessionStopReq_isUsed = 1u; - grammarID = 4; - break; - case 32: - errn = decode_dinSessionStopResType(stream, &dinBodyType->SessionStopRes); - dinBodyType->SessionStopRes_isUsed = 1u; - grammarID = 4; - break; - case 33: - errn = decode_dinWeldingDetectionReqType(stream, &dinBodyType->WeldingDetectionReq); - dinBodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 4; - break; - case 34: - errn = decode_dinWeldingDetectionResType(stream, &dinBodyType->WeldingDetectionRes); - dinBodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 4; - break; - case 35: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int decode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType) { - int grammarID = 7; - int done = 0; - - init_dinSessionSetupReqType(dinSessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinSessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (dinSessionSetupReqType->EVCCID.bytesLen) <= dinSessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSessionSetupReqType->EVCCID.bytesLen, dinSessionSetupReqType->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:2010:MsgBody}EVCCID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - int grammarID = 8; - int done = 0; - - init_dinPowerDeliveryResType(dinPowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPowerDeliveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 9; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinPowerDeliveryResType->AC_EVSEStatus); - dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVSEStatusType(stream, &dinPowerDeliveryResType->DC_EVSEStatus); - dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVSEStatusType(stream, &dinPowerDeliveryResType->EVSEStatus); - dinPowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType) { - int grammarID = 10; - int done = 0; - - init_dinServiceDetailResType(dinServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDetailResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceDetailResType->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:2010:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 12; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceParameterListType(stream, &dinServiceDetailResType->ServiceParameterList); - dinServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - int grammarID = 13; - int done = 0; - - init_dinWeldingDetectionResType(dinWeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinWeldingDetectionResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 14; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinWeldingDetectionResType->DC_EVSEStatus); - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinWeldingDetectionResType->EVSEPresentVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - int grammarID = 16; - int done = 0; - - init_dinContractAuthenticationResType(dinContractAuthenticationResType); - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinContractAuthenticationResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinContractAuthenticationResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - int grammarID = 18; - int done = 0; - - init_dinCanonicalizationMethodType(dinCanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 18: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->Algorithm.charactersLen); - 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, dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinCanonicalizationMethodType->ANY.charactersLen >= 2) { - dinCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCanonicalizationMethodType->ANY.charactersLen, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinCanonicalizationMethodType->ANY.charactersLen >= 2) { - dinCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCanonicalizationMethodType->ANY.charactersLen, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType) { - int grammarID = 21; - int done = 0; - - init_dinSPKIDataType(dinSPKIDataType); - - while(!done) { - switch(grammarID) { - case 21: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } 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 = 23; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSPKIDataType->SPKISexp.arrayLen < dinSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen) <= dinSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytesLen, dinSPKIDataType->SPKISexp.array[dinSPKIDataType->SPKISexp.arrayLen].bytes); - } - dinSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - int grammarID = 24; - int done = 0; - - init_dinListOfRootCertificateIDsType(dinListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinListOfRootCertificateIDsType->RootCertificateID.arrayLen < dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - 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, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 25; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinListOfRootCertificateIDsType->RootCertificateID.arrayLen < dinListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - 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, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinListOfRootCertificateIDsType->RootCertificateID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 25; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType) { - int grammarID = 26; - int done = 0; - - init_dinSelectedServiceListType(dinSelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSelectedServiceListType->SelectedService.arrayLen < dinSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array[dinSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSelectedServiceListType->SelectedService.arrayLen < dinSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array[dinSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 27; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType) { - int grammarID = 28; - int done = 0; - - init_dinCurrentDemandResType(dinCurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCurrentDemandResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinCurrentDemandResType->DC_EVSEStatus); - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentVoltage); - grammarID = 31; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentCurrent); - grammarID = 32; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 34; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandResType->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:2010:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 35; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumVoltageLimit); - dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit); - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 37; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit); - dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 37; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit); - dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType) { - int grammarID = 38; - int done = 0; - - init_dinTransformType(dinTransformType); - - while(!done) { - switch(grammarID) { - case 38: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinTransformType->Algorithm.charactersLen); - 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, dinTransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 39; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* 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 (dinTransformType->XPath.arrayLen < dinTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - 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, dinTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->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 = 40; - } 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 = 40; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinTransformType->ANY.charactersLen); - if (errn == 0) { - if (dinTransformType->ANY.charactersLen >= 2) { - dinTransformType->ANY.charactersLen = (uint16_t)(dinTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->ANY.charactersLen, dinTransformType->ANY.characters, dinTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->ANY_isUsed = 1u; - grammarID = 40; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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 (dinTransformType->XPath.arrayLen < dinTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - 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, dinTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->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 = 40; - } 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 = 40; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinTransformType->ANY.charactersLen); - if (errn == 0) { - if (dinTransformType->ANY.charactersLen >= 2) { - dinTransformType->ANY.charactersLen = (uint16_t)(dinTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->ANY.charactersLen, dinTransformType->ANY.characters, dinTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinTransformType->ANY_isUsed = 1u; - grammarID = 40; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - int grammarID = 41; - int done = 0; - - init_dinAC_EVChargeParameterType(dinAC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 41: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinAC_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:2010:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EAmount); - grammarID = 43; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxVoltage); - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxCurrent); - grammarID = 45; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMinCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType) { - int grammarID = 46; - int done = 0; - - init_dinX509DataType(dinX509DataType); - - while(!done) { - switch(grammarID) { - case 46: - /* 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 (dinX509DataType->X509IssuerSerial.arrayLen < dinX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array[dinX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - if (dinX509DataType->X509SKI.arrayLen < dinX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen) <= dinX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinX509DataType->X509SubjectName.arrayLen < dinX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - 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, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (dinX509DataType->X509Certificate.arrayLen < dinX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen) <= dinX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (dinX509DataType->X509CRL.arrayLen < dinX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen) <= dinX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } 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 = 47; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 (dinX509DataType->X509IssuerSerial.arrayLen < dinX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array[dinX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - if (dinX509DataType->X509SKI.arrayLen < dinX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen) <= dinX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytesLen, dinX509DataType->X509SKI.array[dinX509DataType->X509SKI.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinX509DataType->X509SubjectName.arrayLen < dinX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - 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, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (dinX509DataType->X509Certificate.arrayLen < dinX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen) <= dinX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytesLen, dinX509DataType->X509Certificate.array[dinX509DataType->X509Certificate.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (dinX509DataType->X509CRL.arrayLen < dinX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen) <= dinX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytesLen, dinX509DataType->X509CRL.array[dinX509DataType->X509CRL.arrayLen].bytes); - } - dinX509DataType->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 = 47; - } 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 = 47; - break; - case 6: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType) { - int grammarID = 48; - int done = 0; - - init_dinChargingStatusResType(dinChargingStatusResType); - - while(!done) { - switch(grammarID) { - case 48: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinChargingStatusResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 49; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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, &dinChargingStatusResType->EVSEID.bytesLen); - if (errn == 0) { - errn = (dinChargingStatusResType->EVSEID.bytesLen) <= dinChargingStatusResType_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinChargingStatusResType->EVSEID.bytesLen, dinChargingStatusResType->EVSEID.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:2010:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 50; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinChargingStatusResType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 51; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinChargingStatusResType->EVSEMaxCurrent); - dinChargingStatusResType->EVSEMaxCurrent_isUsed = 1u; - grammarID = 52; - break; - case 1: - errn = decode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo); - dinChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 53; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo); - dinChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 53; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - 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, &dinChargingStatusResType->ReceiptRequired); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) ? */ - 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:2010:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinChargingStatusResType->AC_EVSEStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - int grammarID = 55; - int done = 0; - - init_dinWeldingDetectionReqType(dinWeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinWeldingDetectionReqType->DC_EVStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - int grammarID = 56; - int done = 0; - - init_dinSignaturePropertiesType(dinSignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 56: - /* 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, &dinSignaturePropertiesType->Id.charactersLen); - 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, dinSignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertiesType->Id_isUsed = 1u; - grammarID = 57; - break; - case 1: - if (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* 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 (dinSignaturePropertiesType->SignatureProperty.arrayLen < dinSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array[dinSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - int grammarID = 59; - int done = 0; - - init_dinContractAuthenticationReqType(dinContractAuthenticationReqType); - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->Id.charactersLen); - 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, dinContractAuthenticationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->Id_isUsed = 1u; - grammarID = 60; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - 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, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->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:2010:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - 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, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - 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, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinContractAuthenticationReqType->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:2010:MsgBody}GenChallenge) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - int grammarID = 61; - int done = 0; - - init_dinDC_EVPowerDeliveryParameterType(dinDC_EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 61: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinDC_EVPowerDeliveryParameterType->DC_EVStatus); - grammarID = 62; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_EVPowerDeliveryParameterType->BulkChargingComplete); - dinDC_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:2010:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 63; - } 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, &dinDC_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:2010:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_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:2010:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVSEChargeParameterType(dinEVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType) { - int grammarID = 55; - int done = 0; - - init_dinCableCheckReqType(dinCableCheckReqType); - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinCableCheckReqType->DC_EVStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - int grammarID = 65; - int done = 0; - - init_dinDC_EVChargeParameterType(dinDC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinDC_EVChargeParameterType->DC_EVStatus); - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumCurrentLimit); - grammarID = 67; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumPowerLimit); - dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 68; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 69; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 69; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyCapacity); - dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 1u; - grammarID = 70; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest); - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 71; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 72; - } 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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest); - dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 71; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 72; - } 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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010: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)); - dinDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}FullSOC) ? */ - 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: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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)); - dinDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - dinDC_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:2010:MsgDataTypes}BulkSOC) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -static int decode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType) { - int grammarID = 73; - int done = 0; - - init_dinSAScheduleListType(dinSAScheduleListType); - - while(!done) { - switch(grammarID) { - case 73: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSAScheduleListType->SAScheduleTuple.arrayLen < dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array[dinSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSAScheduleListType->SAScheduleTuple.arrayLen < dinSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array[dinSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType) { - int grammarID = 75; - int done = 0; - - init_dinPMaxScheduleType(dinPMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 75: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinPMaxScheduleType->PMaxScheduleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 76; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPMaxScheduleType->PMaxScheduleEntry.arrayLen < dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array[dinPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPMaxScheduleType->PMaxScheduleEntry.arrayLen < dinPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array[dinPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int decode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - int grammarID = 78; - int done = 0; - - init_dinServicePaymentSelectionReqType(dinServicePaymentSelectionReqType); - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServicePaymentSelectionReqType->SelectedPaymentOption = (dinpaymentOptionType) 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:2010:MsgBody}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 79; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSelectedServiceListType(stream, &dinServicePaymentSelectionReqType->SelectedServiceList); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - int grammarID = 80; - int done = 0; - - init_dinRelativeTimeIntervalType(dinRelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ - 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, &dinRelativeTimeIntervalType->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:2010:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 81; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), 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, &dinRelativeTimeIntervalType->duration); - dinRelativeTimeIntervalType->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:2010:MsgDataTypes}duration) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType) { - int grammarID = 64; - int done = 0; - - init_dinEVStatusType(dinEVStatusType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType) { - int grammarID = 13; - int done = 0; - - init_dinPreChargeResType(dinPreChargeResType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPreChargeResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 14; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinPreChargeResType->DC_EVSEStatus); - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeResType->EVSEPresentVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - int grammarID = 82; - int done = 0; - - init_dinDC_EVSEChargeParameterType(dinDC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinDC_EVSEChargeParameterType->DC_EVSEStatus); - grammarID = 83; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit); - grammarID = 84; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit); - dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 85; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 86; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 86; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit); - grammarID = 87; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit); - grammarID = 88; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 89; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 90; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 90; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -static int decode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - int grammarID = 91; - int done = 0; - - init_dinPaymentDetailsResType(dinPaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 91: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinPaymentDetailsResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 92; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ - 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, &dinPaymentDetailsResType->GenChallenge.charactersLen); - 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, dinPaymentDetailsResType_GenChallenge_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:2010:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 93; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ - 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, &dinPaymentDetailsResType->DateTimeNow); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType) { - int grammarID = 94; - int done = 0; - - init_dinDSAKeyValueType(dinDSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 94: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->P.bytesLen) <= dinDSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->P.bytesLen, dinDSAKeyValueType->P.bytes); - } - dinDSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 95; - } 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, &dinDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->G.bytesLen) <= dinDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->G.bytesLen, dinDSAKeyValueType->G.bytes); - } - dinDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 96; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 95: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Q.bytesLen) <= dinDSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Q.bytesLen, dinDSAKeyValueType->Q.bytes); - } - dinDSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 98; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->G.bytesLen) <= dinDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->G.bytesLen, dinDSAKeyValueType->G.bytes); - } - dinDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 96; - } 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, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Y.bytesLen) <= dinDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Y.bytesLen, dinDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 97; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->J.bytesLen) <= dinDSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->J.bytesLen, dinDSAKeyValueType->J.bytes); - } - dinDSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 99; - } 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, &dinDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Seed.bytesLen) <= dinDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Seed.bytesLen, dinDSAKeyValueType->Seed.bytes); - } - dinDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 100; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->Seed.bytesLen) <= dinDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->Seed.bytesLen, dinDSAKeyValueType->Seed.bytes); - } - dinDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 100; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinDSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (dinDSAKeyValueType->PgenCounter.bytesLen) <= dinDSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinDSAKeyValueType->PgenCounter.bytesLen, dinDSAKeyValueType->PgenCounter.bytes); - } - dinDSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType) { - int grammarID = 64; - int done = 0; - - init_dinSASchedulesType(dinSASchedulesType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - int grammarID = 101; - int done = 0; - - init_dinCertificateUpdateResType(dinCertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateResType->Id.charactersLen); - 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, dinCertificateUpdateResType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 102; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCertificateUpdateResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateResType->ContractSignatureCertChain); - grammarID = 104; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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, &dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinCertificateUpdateResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.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:2010:MsgBody}ContractSignatureEncryptedPrivateKey) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 105; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateUpdateResType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->DHParams.bytesLen) <= dinCertificateUpdateResType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateResType->DHParams.bytesLen, dinCertificateUpdateResType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 106; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateUpdateResType->ContractID.charactersLen); - 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, dinCertificateUpdateResType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 107; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ - 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, &dinCertificateUpdateResType->RetryCounter); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVChargeParameterType(dinEVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType) { - int grammarID = 108; - int done = 0; - - init_dinMessageHeaderType(dinMessageHeaderType); - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (dinMessageHeaderType->SessionID.bytesLen) <= dinMessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMessageHeaderType->SessionID.bytesLen, dinMessageHeaderType->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:2010:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 109; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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_dinNotificationType(stream, &dinMessageHeaderType->Notification); - dinMessageHeaderType->Notification_isUsed = 1u; - grammarID = 110; - break; - case 1: - errn = decode_dinSignatureType(stream, &dinMessageHeaderType->Signature); - dinMessageHeaderType->Signature_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 110: - /* 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_dinSignatureType(stream, &dinMessageHeaderType->Signature); - dinMessageHeaderType->Signature_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType) { - int grammarID = 64; - int done = 0; - - init_dinBodyBaseType(dinBodyBaseType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType) { - int grammarID = 111; - int done = 0; - - init_dinKeyValueType(dinKeyValueType); - - while(!done) { - switch(grammarID) { - case 111: - /* 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_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue); - dinKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 1: - errn = decode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue); - dinKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 112; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 113; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 112: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 112; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* 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_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue); - dinKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 1: - errn = decode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue); - dinKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 112; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 112; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyValueType->ANY.charactersLen >= 2) { - dinKeyValueType->ANY.charactersLen = (uint16_t)(dinKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyValueType->ANY.charactersLen, dinKeyValueType->ANY.characters, dinKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyValueType->ANY_isUsed = 1u; - grammarID = 113; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType) { - int grammarID = 64; - int done = 0; - - init_dinIntervalType(dinIntervalType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - int grammarID = 114; - int done = 0; - - init_dinChargeParameterDiscoveryResType(dinChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 114: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinChargeParameterDiscoveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 115; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinChargeParameterDiscoveryResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSAScheduleListType(stream, &dinChargeParameterDiscoveryResType->SAScheduleList); - dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 117; - break; - case 1: - errn = decode_dinSASchedulesType(stream, &dinChargeParameterDiscoveryResType->SASchedules); - dinChargeParameterDiscoveryResType->SASchedules_isUsed = 1u; - grammarID = 117; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->EVSEChargeParameter); - dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - int grammarID = 118; - int done = 0; - - init_dinPowerDeliveryReqType(dinPowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ - 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, &dinPowerDeliveryReqType->ReadyToChargeState); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 119; - } 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:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinChargingProfileType(stream, &dinPowerDeliveryReqType->ChargingProfile); - dinPowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 120; - break; - case 1: - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter); - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter); - dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType) { - int grammarID = 121; - int done = 0; - - init_dinCertificateChainType(dinCertificateChainType); - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (dinCertificateChainType->Certificate.bytesLen) <= dinCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateChainType->Certificate.bytesLen, dinCertificateChainType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 122; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSubCertificatesType(stream, &dinCertificateChainType->SubCertificates); - dinCertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType) { - int grammarID = 123; - int done = 0; - - init_dinTransformsType(dinTransformsType); - - while(!done) { - switch(grammarID) { - case 123: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinTransformsType->Transform.arrayLen < dinTransformsType_Transform_ARRAY_SIZE) { - errn = decode_dinTransformType(stream, &dinTransformsType->Transform.array[dinTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* 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 (dinTransformsType->Transform.arrayLen < dinTransformsType_Transform_ARRAY_SIZE) { - errn = decode_dinTransformType(stream, &dinTransformsType->Transform.array[dinTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int decode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType) { - int grammarID = 125; - int done = 0; - - init_dinEntryType(dinEntryType); - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinEntryType->RelativeTimeInterval); - dinEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinEntryType->TimeInterval); - dinEntryType->TimeInterval_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType) { - int grammarID = 64; - int done = 0; - - init_dinSessionStopType(dinSessionStopType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int decode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType) { - int grammarID = 126; - int done = 0; - - init_dinServiceDetailReqType(dinServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceDetailReqType->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:2010:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType) { - int grammarID = 18; - int done = 0; - - init_dinDigestMethodType(dinDigestMethodType); - - while(!done) { - switch(grammarID) { - case 18: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->Algorithm.charactersLen); - 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, dinDigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinDigestMethodType->ANY.charactersLen >= 2) { - dinDigestMethodType->ANY.charactersLen = (uint16_t)(dinDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinDigestMethodType->ANY.charactersLen, dinDigestMethodType->ANY.characters, dinDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinDigestMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinDigestMethodType->ANY.charactersLen >= 2) { - dinDigestMethodType->ANY.charactersLen = (uint16_t)(dinDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinDigestMethodType->ANY.charactersLen, dinDigestMethodType->ANY.characters, dinDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinDigestMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType) { - int grammarID = 127; - int done = 0; - - init_dinParameterType(dinParameterType); - - while(!done) { - switch(grammarID) { - case 127: - /* FirstStartTag[ATTRIBUTE[STRING](Name)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinParameterType->Name.charactersLen); - 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, dinParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 128; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - dinParameterType->ValueType = (dinvalueType) uint32; - grammarID = 129; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 129: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010: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, &dinParameterType->boolValue); - dinParameterType->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:2010:MsgDataTypes}boolValue) ? */ - 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: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - dinParameterType->byteValue = (int8_t)(uint32 -128); - dinParameterType->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:2010:MsgDataTypes}byteValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } 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, &dinParameterType->shortValue); - dinParameterType->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:2010:MsgDataTypes}shortValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } 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, &dinParameterType->intValue); - dinParameterType->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:2010:MsgDataTypes}intValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_dinPhysicalValueType(stream, &dinParameterType->physicalValue); - dinParameterType->physicalValue_isUsed = 1u; - grammarID = 4; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinParameterType->stringValue.charactersLen); - 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, dinParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinParameterType->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:2010:MsgDataTypes}stringValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType) { - int grammarID = 64; - int done = 0; - - init_dinChargingStatusReqType(dinChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType) { - int grammarID = 130; - int done = 0; - - init_dinSignatureMethodType(dinSignatureMethodType); - - while(!done) { - switch(grammarID) { - case 130: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->Algorithm.charactersLen); - 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, dinSignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 131; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 131: - /* 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, &dinSignatureMethodType->HMACOutputLength); - dinSignatureMethodType->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 = 20; - } 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 = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* 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, &dinSignatureMethodType->HMACOutputLength); - dinSignatureMethodType->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 = 20; - } 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 = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (dinSignatureMethodType->ANY.charactersLen >= 2) { - dinSignatureMethodType->ANY.charactersLen = (uint16_t)(dinSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->ANY.charactersLen, dinSignatureMethodType->ANY.characters, dinSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureMethodType->ANY_isUsed = 1u; - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - int grammarID = 133; - int done = 0; - - init_dinCertificateInstallationReqType(dinCertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 133: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationReqType->Id.charactersLen); - 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, dinCertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCertificateInstallationReqType->Id_isUsed = 1u; - grammarID = 134; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen, dinCertificateInstallationReqType->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:2010:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= dinCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen, dinCertificateInstallationReqType->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:2010:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinListOfRootCertificateIDsType(stream, &dinCertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateInstallationReqType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->DHParams.bytesLen) <= dinCertificateInstallationReqType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationReqType->DHParams.bytesLen, dinCertificateInstallationReqType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -static int decode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - int grammarID = 137; - int done = 0; - - init_dinSalesTariffEntryType(dinSalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 137: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinSalesTariffEntryType->RelativeTimeInterval); - dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 138; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinSalesTariffEntryType->TimeInterval); - dinSalesTariffEntryType->TimeInterval_isUsed = 1u; - grammarID = 138; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ - 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)); - dinSalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 139; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffEntryType->ConsumptionCost.arrayLen < dinSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_dinConsumptionCostType(stream, &dinSalesTariffEntryType->ConsumptionCost.array[dinSalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 139; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - int grammarID = 140; - int done = 0; - - init_dinServiceDiscoveryResType(dinServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDiscoveryResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}PaymentOptions)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPaymentOptionsType(stream, &dinServiceDiscoveryResType->PaymentOptions); - grammarID = 142; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceChargeType(stream, &dinServiceDiscoveryResType->ChargeService); - grammarID = 143; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagListType(stream, &dinServiceDiscoveryResType->ServiceList); - dinServiceDiscoveryResType->ServiceList_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType) { - int grammarID = 144; - int done = 0; - - init_dinParameterSetType(dinParameterSetType); - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinParameterSetType->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:2010:MsgDataTypes}ParameterSetID) ? */ - 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:2010:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinParameterSetType->Parameter.arrayLen < dinParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_dinParameterType(stream, &dinParameterSetType->Parameter.array[dinParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinParameterSetType->Parameter.arrayLen < dinParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_dinParameterType(stream, &dinParameterSetType->Parameter.array[dinParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int decode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - int grammarID = 147; - int done = 0; - - init_dinCurrentDemandReqType(dinCurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 147: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinCurrentDemandReqType->DC_EVStatus); - grammarID = 148; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetCurrent); - grammarID = 149; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumVoltageLimit); - dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 1u; - grammarID = 150; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit); - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 151; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit); - dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 151; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit); - dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 152; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } 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:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandReqType->BulkChargingComplete); - dinCurrentDemandReqType->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:2010:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCurrentDemandReqType->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:2010:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToFullSoC); - dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 1u; - grammarID = 155; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC); - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 156; - break; - case 2: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC); - dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 156; - break; - case 1: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType) { - int grammarID = 157; - int done = 0; - - init_dinPreChargeReqType(dinPreChargeReqType); - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVStatusType(stream, &dinPreChargeReqType->DC_EVStatus); - grammarID = 158; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetVoltage); - grammarID = 159; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType) { - int grammarID = 160; - int done = 0; - - init_dinSignatureType(dinSignatureType); - - while(!done) { - switch(grammarID) { - case 160: - /* 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, &dinSignatureType->Id.charactersLen); - 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, dinSignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureType->Id_isUsed = 1u; - grammarID = 161; - break; - case 1: - errn = decode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo); - grammarID = 162; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* 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_dinSignedInfoType(stream, &dinSignatureType->SignedInfo); - grammarID = 162; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* 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_dinSignatureValueType(stream, &dinSignatureType->SignatureValue); - grammarID = 163; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* 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_dinKeyInfoType(stream, &dinSignatureType->KeyInfo); - dinSignatureType->KeyInfo_isUsed = 1u; - grammarID = 164; - break; - case 1: - if (dinSignatureType->Object.arrayLen < dinSignatureType_Object_ARRAY_SIZE) { - errn = decode_dinObjectType(stream, &dinSignatureType->Object.array[dinSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* 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 (dinSignatureType->Object.arrayLen < dinSignatureType_Object_ARRAY_SIZE) { - errn = decode_dinObjectType(stream, &dinSignatureType->Object.array[dinSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)', derivedBy='RESTRICTION'. */ -static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType) { - int grammarID = 165; - int done = 0; - - init_dinReferenceType(dinReferenceType); - - while(!done) { - switch(grammarID) { - case 165: - /* 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, &dinReferenceType->Id.charactersLen); - 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, dinReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Id_isUsed = 1u; - grammarID = 166; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->Type.charactersLen); - 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, dinReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Type_isUsed = 1u; - grammarID = 167; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 3: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 4: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 166: - /* 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, &dinReferenceType->Type.charactersLen); - 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, dinReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->Type_isUsed = 1u; - grammarID = 167; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 2: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 3: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* 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, &dinReferenceType->URI.charactersLen); - 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, dinReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinReferenceType->URI_isUsed = 1u; - grammarID = 168; - break; - case 1: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 2: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 168: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinTransformsType(stream, &dinReferenceType->Transforms); - dinReferenceType->Transforms_isUsed = 1u; - grammarID = 169; - break; - case 1: - errn = decode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* 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_dinDigestMethodType(stream, &dinReferenceType->DigestMethod); - grammarID = 170; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 170: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (dinReferenceType->DigestValue.bytesLen) <= dinReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinReferenceType->DigestValue.bytesLen, dinReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -static int decode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType) { - int grammarID = 171; - int done = 0; - - init_dinProfileEntryType(dinProfileEntryType); - - while(!done) { - switch(grammarID) { - case 171: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinProfileEntryType->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:2010:MsgDataTypes}ChargingProfileEntryStart) ? */ - 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:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinProfileEntryType->ChargingProfileEntryMaxPower); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int decode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - int grammarID = 173; - int done = 0; - - init_dinAnonType_V2G_Message(dinAnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 173: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinMessageHeaderType(stream, &dinAnonType_V2G_Message->Header); - grammarID = 174; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinBodyType(stream, &dinAnonType_V2G_Message->Body); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - int grammarID = 175; - int done = 0; - - init_dinChargeParameterDiscoveryReqType(dinChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ - 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); - dinChargeParameterDiscoveryReqType->EVRequestedEnergyTransferType = (dinEVRequestedEnergyTransferType) 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:2010:MsgBody}EVRequestedEnergyTransferType) ? */ - 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:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->AC_EVChargeParameter); - dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 1: - errn = decode_dinDC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->DC_EVChargeParameter); - dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - case 2: - errn = decode_dinEVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->EVChargeParameter); - dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 1u; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType) { - int grammarID = 177; - int done = 0; - - init_dinConsumptionCostType(dinConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 177: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ - 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, &dinConsumptionCostType->startValue); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 178; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinConsumptionCostType->Cost.arrayLen < dinConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_dinCostType(stream, &dinConsumptionCostType->Cost.array[dinConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType) { - int grammarID = 179; - int done = 0; - - init_dinRSAKeyValueType(dinRSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 179: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinRSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (dinRSAKeyValueType->Modulus.bytesLen) <= dinRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinRSAKeyValueType->Modulus.bytesLen, dinRSAKeyValueType->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 = 180; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* 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, &dinRSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (dinRSAKeyValueType->Exponent.bytesLen) <= dinRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinRSAKeyValueType->Exponent.bytesLen, dinRSAKeyValueType->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 = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int decode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType) { - int grammarID = 181; - int done = 0; - - init_dinServiceType(dinServiceType); - - while(!done) { - switch(grammarID) { - case 181: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagType(stream, &dinServiceType->ServiceTag); - grammarID = 182; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceType->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:2010:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType) { - int grammarID = 183; - int done = 0; - - init_dinServiceTagListType(dinServiceTagListType); - - while(!done) { - switch(grammarID) { - case 183: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceTagListType->Service.arrayLen < dinServiceTagListType_Service_ARRAY_SIZE) { - errn = decode_dinServiceType(stream, &dinServiceTagListType->Service.array[dinServiceTagListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceTagListType->Service.arrayLen < dinServiceTagListType_Service_ARRAY_SIZE) { - errn = decode_dinServiceType(stream, &dinServiceTagListType->Service.array[dinServiceTagListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType) { - int grammarID = 64; - int done = 0; - - init_dinEVSEStatusType(dinEVSEStatusType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType) { - int grammarID = 185; - int done = 0; - - init_dinSessionSetupResType(dinSessionSetupResType); - - while(!done) { - switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinSessionSetupResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 186; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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, &dinSessionSetupResType->EVSEID.bytesLen); - if (errn == 0) { - errn = (dinSessionSetupResType->EVSEID.bytesLen) <= dinSessionSetupResType_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSessionSetupResType->EVSEID.bytesLen, dinSessionSetupResType->EVSEID.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:2010:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 187; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), 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, &dinSessionSetupResType->DateTimeNow); - dinSessionSetupResType->DateTimeNow_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - int grammarID = 64; - int done = 0; - - init_dinEVPowerDeliveryParameterType(dinEVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - int grammarID = 188; - int done = 0; - - init_dinX509IssuerSerialType(dinX509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 188: - /* 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, &dinX509IssuerSerialType->X509IssuerName.charactersLen); - 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, dinX509IssuerSerialType_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 = 189; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* 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, &dinX509IssuerSerialType->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 = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType) { - int grammarID = 190; - int done = 0; - - init_dinSelectedServiceType(dinSelectedServiceType); - - while(!done) { - switch(grammarID) { - case 190: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinSelectedServiceType->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:2010:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 191; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), 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, &dinSelectedServiceType->ParameterSetID); - dinSelectedServiceType->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - int grammarID = 192; - int done = 0; - - init_dinMeteringReceiptResType(dinMeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 192: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinMeteringReceiptResType->ResponseCode = (dinresponseCodeType) 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:2010: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:2010:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinMeteringReceiptResType->AC_EVSEStatus); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType) { - int grammarID = 193; - int done = 0; - - init_dinDC_EVStatusType(dinDC_EVStatusType); - - while(!done) { - switch(grammarID) { - case 193: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinDC_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:2010:MsgDataTypes}EVReady) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 194; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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, &dinDC_EVStatusType->EVCabinConditioning); - dinDC_EVStatusType->EVCabinConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 195; - } 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, &dinDC_EVStatusType->EVRESSConditioning); - dinDC_EVStatusType->EVRESSConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 196; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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, &dinDC_EVStatusType->EVRESSConditioning); - dinDC_EVStatusType->EVRESSConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 196; - } 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); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - 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); - dinDC_EVStatusType->EVErrorCode = (dinDC_EVErrorCodeType) 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:2010:MsgDataTypes}EVErrorCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 197; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC)] */ - 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, 7, &(uint32)); - dinDC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int decode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType) { - int grammarID = 198; - int done = 0; - - init_dinPhysicalValueType(dinPhysicalValueType); - - while(!done) { - switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)); - dinPhysicalValueType->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:2010:MsgDataTypes}Multiplier) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 199; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ - 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, 4, &uint32); - dinPhysicalValueType->Unit = (dinunitSymbolType) uint32; - dinPhysicalValueType->Unit_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 200; - } 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 = decodeInteger16(stream, &dinPhysicalValueType->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:2010:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinPhysicalValueType->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:2010:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType) { - int grammarID = 201; - int done = 0; - - init_dinManifestType(dinManifestType); - - while(!done) { - switch(grammarID) { - case 201: - /* 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, &dinManifestType->Id.charactersLen); - 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, dinManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinManifestType->Id_isUsed = 1u; - grammarID = 202; - break; - case 1: - if (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 202: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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 (dinManifestType->Reference.arrayLen < dinManifestType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinManifestType->Reference.array[dinManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int decode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - int grammarID = 204; - int done = 0; - - init_dinPMaxScheduleEntryType(dinPMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 204: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinRelativeTimeIntervalType(stream, &dinPMaxScheduleEntryType->RelativeTimeInterval); - dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 205; - break; - case 1: - errn = decode_dinIntervalType(stream, &dinPMaxScheduleEntryType->TimeInterval); - dinPMaxScheduleEntryType->TimeInterval_isUsed = 1u; - grammarID = 205; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinPMaxScheduleEntryType->PMax); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType) { - int grammarID = 206; - int done = 0; - - init_dinServiceParameterListType(dinServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 206: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceParameterListType->ParameterSet.arrayLen < dinServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array[dinServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinServiceParameterListType->ParameterSet.arrayLen < dinServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array[dinServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType) { - int grammarID = 208; - int done = 0; - - init_dinSignatureValueType(dinSignatureValueType); - - while(!done) { - switch(grammarID) { - case 208: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->Id.charactersLen); - 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, dinSignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignatureValueType->Id_isUsed = 1u; - grammarID = 209; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (dinSignatureValueType->CONTENT.bytesLen) <= dinSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSignatureValueType->CONTENT.bytesLen, dinSignatureValueType->CONTENT.bytes); - } - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (dinSignatureValueType->CONTENT.bytesLen) <= dinSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSignatureValueType->CONTENT.bytesLen, dinSignatureValueType->CONTENT.bytes); - } - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType) { - int grammarID = 210; - int done = 0; - - init_dinPaymentOptionsType(dinPaymentOptionsType); - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPaymentOptionsType->PaymentOption.arrayLen < dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType->PaymentOption.arrayLen] = (dinpaymentOptionType) uint32; - dinPaymentOptionsType->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:2010:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 211; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinPaymentOptionsType->PaymentOption.arrayLen < dinPaymentOptionsType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType->PaymentOption.arrayLen] = (dinpaymentOptionType) uint32; - dinPaymentOptionsType->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:2010:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 211; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType) { - int grammarID = 212; - int done = 0; - - init_dinServiceTagType(dinServiceTagType); - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceTagType->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:2010:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 213; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceTagType->ServiceName.charactersLen); - 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, dinServiceTagType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceTagType->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:2010:MsgDataTypes}ServiceName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 214; - } 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); - dinServiceTagType->ServiceCategory = (dinserviceCategoryType) 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:2010:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 215; - } 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:2010: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); - dinServiceTagType->ServiceCategory = (dinserviceCategoryType) 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:2010:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 215; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ - 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, &dinServiceTagType->ServiceScope.charactersLen); - 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, dinServiceTagType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceTagType->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:2010:MsgDataTypes}ServiceScope) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - int grammarID = 216; - int done = 0; - - init_dinAC_EVSEStatusType(dinAC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 216: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ - 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, &dinAC_EVSEStatusType->PowerSwitchClosed); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 217; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ - 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, &dinAC_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:2010:MsgDataTypes}RCD) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = decodeUnsignedInteger32(stream, &dinAC_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:2010:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinAC_EVSEStatusType->EVSENotification = (dinEVSENotificationType) 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:2010:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - int grammarID = 220; - int done = 0; - - init_dinCertificateUpdateReqType(dinCertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 220: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateReqType->Id.charactersLen); - 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, dinCertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinCertificateUpdateReqType->Id_isUsed = 1u; - grammarID = 221; - break; - case 1: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 221: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateUpdateReqType->ContractID.charactersLen); - 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, dinCertificateUpdateReqType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 135; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinListOfRootCertificateIDsType(stream, &dinCertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateUpdateReqType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateUpdateReqType->DHParams.bytesLen) <= dinCertificateUpdateReqType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateUpdateReqType->DHParams.bytesLen, dinCertificateUpdateReqType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - int grammarID = 223; - int done = 0; - - init_dinServicePaymentSelectionResType(dinServicePaymentSelectionResType); - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServicePaymentSelectionResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - int grammarID = 224; - int done = 0; - - init_dinSAScheduleTupleType(dinSAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 224: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinSAScheduleTupleType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 225; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPMaxScheduleType(stream, &dinSAScheduleTupleType->PMaxSchedule); - grammarID = 226; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinSalesTariffType(stream, &dinSAScheduleTupleType->SalesTariff); - dinSAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType) { - int grammarID = 227; - int done = 0; - - init_dinChargingProfileType(dinChargingProfileType); - - while(!done) { - switch(grammarID) { - case 227: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinChargingProfileType->SAScheduleTupleID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 228; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinChargingProfileType->ProfileEntry.arrayLen < dinChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array[dinChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinChargingProfileType->ProfileEntry.arrayLen < dinChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array[dinChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int decode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - int grammarID = 230; - int done = 0; - - init_dinServiceDiscoveryReqType(dinServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - 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, &dinServiceDiscoveryReqType->ServiceScope.charactersLen); - 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, dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceScope) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 231; - } 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); - dinServiceDiscoveryReqType->ServiceCategory = (dinserviceCategoryType) uint32; - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinServiceDiscoveryReqType->ServiceCategory = (dinserviceCategoryType) uint32; - dinServiceDiscoveryReqType->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:2010:MsgBody}ServiceCategory) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -static int decode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - int grammarID = 232; - int done = 0; - - init_dinAC_EVSEChargeParameterType(dinAC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinAC_EVSEStatusType(stream, &dinAC_EVSEChargeParameterType->AC_EVSEStatus); - grammarID = 233; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxVoltage); - grammarID = 234; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxCurrent); - grammarID = 235; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMinCurrent); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType) { - int grammarID = 236; - int done = 0; - - init_dinKeyInfoType(dinKeyInfoType); - - while(!done) { - switch(grammarID) { - case 236: - /* 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, &dinKeyInfoType->Id.charactersLen); - 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, dinKeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->Id_isUsed = 1u; - grammarID = 237; - break; - case 1: - if (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 7: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - done = 1; - grammarID = 5; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 238; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* 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 (dinKeyInfoType->KeyName.arrayLen < dinKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - 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, dinKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (dinKeyInfoType->KeyValue.arrayLen < dinKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array[dinKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 2: - if (dinKeyInfoType->RetrievalMethod.arrayLen < dinKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array[dinKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 3: - if (dinKeyInfoType->X509Data.arrayLen < dinKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array[dinKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 4: - if (dinKeyInfoType->PGPData.arrayLen < dinKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array[dinKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 5: - if (dinKeyInfoType->SPKIData.arrayLen < dinKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array[dinKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 6: - if (dinKeyInfoType->MgmtData.arrayLen < dinKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - 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, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->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 = 238; - } 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 = 238; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (dinKeyInfoType->ANY.charactersLen >= 2) { - dinKeyInfoType->ANY.charactersLen = (uint16_t)(dinKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->ANY.charactersLen, dinKeyInfoType->ANY.characters, dinKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinKeyInfoType->ANY_isUsed = 1u; - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int decode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - int grammarID = 240; - int done = 0; - - init_dinPaymentDetailsReqType(dinPaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinPaymentDetailsReqType->ContractID.charactersLen); - 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, dinPaymentDetailsReqType_ContractID_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:2010:MsgBody}ContractID) ? */ - 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:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinPaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType) { - int grammarID = 242; - int done = 0; - - init_dinCableCheckResType(dinCableCheckResType); - - while(!done) { - switch(grammarID) { - case 242: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCableCheckResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - 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:2010:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinDC_EVSEStatusType(stream, &dinCableCheckResType->DC_EVSEStatus); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, &uint32); - dinCableCheckResType->EVSEProcessing = (dinEVSEProcessingType) 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:2010:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType) { - int grammarID = 244; - int done = 0; - - init_dinObjectType(dinObjectType); - - while(!done) { - switch(grammarID) { - case 244: - /* 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, &dinObjectType->Encoding.charactersLen); - 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, dinObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Encoding_isUsed = 1u; - grammarID = 245; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinObjectType->Id.charactersLen); - 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, dinObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Id_isUsed = 1u; - grammarID = 246; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 4: - done = 1; - grammarID = 5; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 245: - /* 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, &dinObjectType->Id.charactersLen); - 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, dinObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->Id_isUsed = 1u; - grammarID = 246; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 3: - done = 1; - grammarID = 5; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* 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, &dinObjectType->MimeType.charactersLen); - 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, dinObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->MimeType_isUsed = 1u; - grammarID = 19; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 20; - break; - case 2: - done = 1; - grammarID = 5; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinObjectType->ANY.charactersLen); - if (errn == 0) { - if (dinObjectType->ANY.charactersLen >= 2) { - dinObjectType->ANY.charactersLen = (uint16_t)(dinObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->ANY.charactersLen, dinObjectType->ANY.characters, dinObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinObjectType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType) { - int grammarID = 223; - int done = 0; - - init_dinSessionStopResType(dinSessionStopResType); - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinSessionStopResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType) { - int grammarID = 247; - int done = 0; - - init_dinSignedInfoType(dinSignedInfoType); - - while(!done) { - switch(grammarID) { - case 247: - /* 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, &dinSignedInfoType->Id.charactersLen); - 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, dinSignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignedInfoType->Id_isUsed = 1u; - grammarID = 248; - break; - case 1: - errn = decode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod); - grammarID = 249; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 248: - /* 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_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod); - grammarID = 249; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* 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_dinSignatureMethodType(stream, &dinSignedInfoType->SignatureMethod); - grammarID = 250; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSignedInfoType->Reference.arrayLen < dinSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinSignedInfoType->Reference.array[dinSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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 (dinSignedInfoType->Reference.arrayLen < dinSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_dinReferenceType(stream, &dinSignedInfoType->Reference.array[dinSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType) { - int grammarID = 251; - int done = 0; - - init_dinSalesTariffType(dinSalesTariffType); - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSalesTariffType->Id.charactersLen); - 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, dinSalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 252; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &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, &dinSalesTariffType->SalesTariffID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 253; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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, &dinSalesTariffType->SalesTariffDescription.charactersLen); - 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, dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSalesTariffType->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:2010:MsgDataTypes}SalesTariffDescription) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 254; - } 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)); - dinSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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)); - dinSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffType->SalesTariffEntry.arrayLen < dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array[dinSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSalesTariffType->SalesTariffEntry.arrayLen < dinSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array[dinSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType) { - int grammarID = 257; - int done = 0; - - init_dinCostType(dinCostType); - - while(!done) { - switch(grammarID) { - case 257: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCostType->costKind = (dincostKindType) 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:2010:MsgDataTypes}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 258; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinCostType->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:2010:MsgDataTypes}amount) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), 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, 3, &(uint32)); - dinCostType->amountMultiplier = (int8_t)(uint32 -3); - dinCostType->amountMultiplier_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -static int decode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType) { - int grammarID = 260; - int done = 0; - - init_dinServiceChargeType(dinServiceChargeType); - - while(!done) { - switch(grammarID) { - case 260: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinServiceTagType(stream, &dinServiceChargeType->ServiceTag); - grammarID = 261; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinServiceChargeType->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:2010:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 262; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ - 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); - dinServiceChargeType->EnergyTransferType = (dinEVSESupportedEnergyTransferType) 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:2010:MsgDataTypes}EnergyTransferType) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int decode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - int grammarID = 263; - int done = 0; - - init_dinDC_EVSEStatusType(dinDC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010: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, 2, &uint32); - dinDC_EVSEStatusType->EVSEIsolationStatus = (dinisolationLevelType) uint32; - dinDC_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:2010:MsgDataTypes}EVSEIsolationStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } 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); - dinDC_EVSEStatusType->EVSEStatusCode = (dinDC_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:2010:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinDC_EVSEStatusType->EVSEStatusCode = (dinDC_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:2010:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = decodeUnsignedInteger32(stream, &dinDC_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:2010:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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); - dinDC_EVSEStatusType->EVSENotification = (dinEVSENotificationType) 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:2010:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = 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_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType) { - int grammarID = 265; - int done = 0; - - init_dinRetrievalMethodType(dinRetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 265: - /* 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, &dinRetrievalMethodType->Type.charactersLen); - 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, dinRetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->Type_isUsed = 1u; - grammarID = 266; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinRetrievalMethodType->URI.charactersLen); - 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, dinRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->URI_isUsed = 1u; - grammarID = 267; - break; - case 2: - errn = decode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 266: - /* 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, &dinRetrievalMethodType->URI.charactersLen); - 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, dinRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinRetrievalMethodType->URI_isUsed = 1u; - grammarID = 267; - break; - case 1: - errn = decode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 267: - /* 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_dinTransformsType(stream, &dinRetrievalMethodType->Transforms); - dinRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 4; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType) { - int grammarID = 268; - int done = 0; - - init_dinNotificationType(dinNotificationType); - - while(!done) { - switch(grammarID) { - case 268: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode)] */ - 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); - dinNotificationType->FaultCode = (dinfaultCodeType) 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:2010:MsgDataTypes}FaultCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 269; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ - 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, &dinNotificationType->FaultMsg.charactersLen); - 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, dinNotificationType_FaultMsg_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinNotificationType->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:2010:MsgDataTypes}FaultMsg) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType) { - int grammarID = 270; - int done = 0; - - init_dinPGPDataType(dinPGPDataType); - - while(!done) { - switch(grammarID) { - case 270: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyID.bytesLen) <= dinPGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyID.bytesLen, dinPGPDataType->PGPKeyID.bytes); - } - dinPGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 271; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyPacket.bytesLen) <= dinPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytesLen, dinPGPDataType->PGPKeyPacket.bytes); - } - dinPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 272; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (dinPGPDataType->PGPKeyPacket.bytesLen) <= dinPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytesLen, dinPGPDataType->PGPKeyPacket.bytes); - } - dinPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 272; - } 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 = 272; - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 272; - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - int grammarID = 273; - int done = 0; - - init_dinCertificateInstallationResType(dinCertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 273: - /* FirstStartTag[ATTRIBUTE[STRING](Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationResType->Id.charactersLen); - 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, dinCertificateInstallationResType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 274; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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); - dinCertificateInstallationResType->ResponseCode = (dinresponseCodeType) 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:2010:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 275; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinCertificateChainType(stream, &dinCertificateInstallationResType->ContractSignatureCertChain); - grammarID = 276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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, &dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinCertificateInstallationResType_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.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:2010:MsgBody}ContractSignatureEncryptedPrivateKey) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 277; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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, &dinCertificateInstallationResType->DHParams.bytesLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->DHParams.bytesLen) <= dinCertificateInstallationResType_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinCertificateInstallationResType->DHParams.bytesLen, dinCertificateInstallationResType->DHParams.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:2010:MsgBody}DHParams) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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, &dinCertificateInstallationResType->ContractID.charactersLen); - 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, dinCertificateInstallationResType_ContractID_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:2010:MsgBody}ContractID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType) { - int grammarID = 279; - int done = 0; - - init_dinSignaturePropertyType(dinSignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 279: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Id.charactersLen); - 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, dinSignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->Id_isUsed = 1u; - grammarID = 280; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - 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, dinSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 281; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - 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, dinSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 281; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* 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 = 20; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 282; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* 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 = 20; - break; - case 1: - done = 1; - grammarID = 5; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 20; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* 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 = 20; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (dinSignaturePropertyType->ANY.charactersLen >= 2) { - dinSignaturePropertyType->ANY.charactersLen = (uint16_t)(dinSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->ANY.charactersLen, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - dinSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 282; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int decode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType) { - int grammarID = 283; - int done = 0; - - init_dinMeterInfoType(dinMeterInfoType); - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeterInfoType->MeterID.charactersLen); - 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, dinMeterInfoType_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:2010:MsgDataTypes}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_dinPhysicalValueType(stream, &dinMeterInfoType->MeterReading); - dinMeterInfoType->MeterReading_isUsed = 1u; - grammarID = 285; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (dinMeterInfoType->SigMeterReading.bytesLen) <= dinMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeterInfoType->SigMeterReading.bytesLen, dinMeterInfoType->SigMeterReading.bytes); - } - dinMeterInfoType->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:2010:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 286; - } 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, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (dinMeterInfoType->SigMeterReading.bytesLen) <= dinMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinMeterInfoType->SigMeterReading.bytesLen, dinMeterInfoType->SigMeterReading.bytes); - } - dinMeterInfoType->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:2010:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 286; - } 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, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &dinMeterInfoType->MeterStatus); - dinMeterInfoType->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:2010:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 287; - } 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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, &dinMeterInfoType->TMeter); - dinMeterInfoType->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:2010:MsgDataTypes}TMeter) ? */ - 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: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 4: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType) { - int grammarID = 288; - int done = 0; - - init_dinSubCertificatesType(dinSubCertificatesType); - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSubCertificatesType->Certificate.arrayLen < dinSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen) <= dinSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytes); - } - dinSubCertificatesType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (dinSubCertificatesType->Certificate.arrayLen < dinSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen) <= dinSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytesLen, dinSubCertificatesType->Certificate.array[dinSubCertificatesType->Certificate.arrayLen].bytes); - } - dinSubCertificatesType->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:2010:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010: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:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_dinEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_dinAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_dinAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); - exiDoc->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus); - exiDoc->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = decode_dinBodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = decode_dinCableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = decode_dinCableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_dinCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = decode_dinCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = decode_dinCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = decode_dinCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = decode_dinCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_dinChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_dinChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = decode_dinChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = decode_dinChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = decode_dinContractAuthenticationReqType(stream, &exiDoc->ContractAuthenticationReq); - exiDoc->ContractAuthenticationReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = decode_dinContractAuthenticationResType(stream, &exiDoc->ContractAuthenticationRes); - exiDoc->ContractAuthenticationRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = decode_dinCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = decode_dinCurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_dinDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); - exiDoc->DC_EVChargeParameter_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter); - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_dinDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); - exiDoc->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus); - exiDoc->DC_EVSEStatus_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiDoc->DC_EVStatus); - exiDoc->DC_EVStatus_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_dinDSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_dinDigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= dinEXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = decode_dinEVChargeParameterType(stream, &exiDoc->EVChargeParameter); - exiDoc->EVChargeParameter_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_dinEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter); - exiDoc->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_dinEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter); - exiDoc->EVSEChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = decode_dinEVSEStatusType(stream, &exiDoc->EVSEStatus); - exiDoc->EVSEStatus_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = decode_dinEVStatusType(stream, &exiDoc->EVStatus); - exiDoc->EVStatus_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = decode_dinEntryType(stream, &exiDoc->Entry); - exiDoc->Entry_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_dinKeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, dinEXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_dinKeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_dinManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = decode_dinMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = decode_dinMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, dinEXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_dinObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_dinPGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_dinPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = decode_dinPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = decode_dinPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = decode_dinPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = decode_dinPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = decode_dinPreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = decode_dinPreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_dinRSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_dinReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_dinRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_dinRetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = decode_dinSAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = decode_dinSASchedulesType(stream, &exiDoc->SASchedules); - exiDoc->SASchedules_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_dinSPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = decode_dinSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = decode_dinServiceChargeType(stream, &exiDoc->ServiceCharge); - exiDoc->ServiceCharge_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = decode_dinServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = decode_dinServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = decode_dinServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = decode_dinServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = decode_dinServicePaymentSelectionReqType(stream, &exiDoc->ServicePaymentSelectionReq); - exiDoc->ServicePaymentSelectionReq_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = decode_dinServicePaymentSelectionResType(stream, &exiDoc->ServicePaymentSelectionRes); - exiDoc->ServicePaymentSelectionRes_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = decode_dinSessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = decode_dinSessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = decode_dinSessionStopType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = decode_dinSessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_dinSignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_dinSignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_dinSignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_dinSignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_dinSignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_dinSignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = decode_dinIntervalType(stream, &exiDoc->TimeInterval); - exiDoc->TimeInterval_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_dinTransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_dinTransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = decode_dinAnonType_V2G_Message(stream, &exiDoc->V2G_Message); - exiDoc->V2G_Message_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = decode_dinWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = decode_dinWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_dinX509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - init_dinEXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_dinAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_dinAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ - errn = decode_dinBodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = decode_dinBodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = decode_dinCableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = decode_dinCableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_dinCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= dinEXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = decode_dinCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = decode_dinCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = decode_dinCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = decode_dinCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_dinChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_dinChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService) */ - errn = decode_dinServiceChargeType(stream, &exiFrag->ChargeService); - exiFrag->ChargeService_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}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 21: - /* START_ELEMENT({urn:iso:15118:2:2010: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 22: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ - errn = decode_dinChargingProfileType(stream, &exiFrag->ChargingProfile); - exiFrag->ChargingProfile_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ChargingProfileEntryMaxPower); - exiFrag->ChargingProfileEntryMaxPower_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2010: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 25: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = decode_dinChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = decode_dinChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost) */ - errn = decode_dinConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = decode_dinContractAuthenticationReqType(stream, &exiFrag->ContractAuthenticationReq); - exiFrag->ContractAuthenticationReq_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = decode_dinContractAuthenticationResType(stream, &exiFrag->ContractAuthenticationRes); - exiFrag->ContractAuthenticationRes_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ContractID.charactersLen); - if (errn == 0) { - if (exiFrag->ContractID.charactersLen >= 2) { - exiFrag->ContractID.charactersLen = (uint16_t)(exiFrag->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ContractID.charactersLen, exiFrag->ContractID.characters, dinEXIFragment_ContractID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ContractID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ - errn = decode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen); - if (errn == 0) { - errn = (exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen) <= dinEXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen, exiFrag->ContractSignatureEncryptedPrivateKey.bytes); - } - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ - errn = decode_dinCostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = decode_dinCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = decode_dinCurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_dinDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); - exiFrag->DC_EVChargeParameter_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_dinDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter); - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_dinDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DHParams.bytesLen); - if (errn == 0) { - errn = (exiFrag->DHParams.bytesLen) <= dinEXIFragment_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DHParams.bytesLen, exiFrag->DHParams.bytes); - } - exiFrag->DHParams_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 44: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_dinDSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->DateTimeNow); - exiFrag->DateTimeNow_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 47: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_dinDigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= dinEXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EAmount); - exiFrag->EAmount_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= dinEXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVCabinConditioning); - exiFrag->EVCabinConditioning_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = decode_dinEVChargeParameterType(stream, &exiFrag->EVChargeParameter); - exiFrag->EVChargeParameter_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVEnergyCapacity); - exiFrag->EVEnergyCapacity_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVEnergyRequest); - exiFrag->EVEnergyRequest_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVErrorCode = (dinDC_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:2010:MsgDataTypes}EVMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaxCurrent); - exiFrag->EVMaxCurrent_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaxVoltage); - exiFrag->EVMaxVoltage_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMinCurrent); - exiFrag->EVMinCurrent_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_dinEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter); - exiFrag->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVRESSConditioning); - exiFrag->EVRESSConditioning_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:2010: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 69: - /* START_ELEMENT({urn:iso:15118:2:2010: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 70: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->EVRequestedEnergyTransferType = (dinEVRequestedEnergyTransferType) uint32; - exiFrag->EVRequestedEnergyTransferType_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:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_dinEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter); - exiFrag->EVSEChargeParameter_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2010: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 73: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVSEID.bytesLen) <= dinEXIFragment_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVSEID.bytesLen, exiFrag->EVSEID.bytes); - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEIsolationStatus = (dinisolationLevelType) uint32; - exiFrag->EVSEIsolationStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxVoltage); - exiFrag->EVSEMaxVoltage_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinCurrent); - exiFrag->EVSEMinCurrent_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit); - exiFrag->EVSEMinimumCurrentLimit_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit); - exiFrag->EVSEMinimumVoltageLimit_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSENotification = (dinEVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); - exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEPowerLimitAchieved); - exiFrag->EVSEPowerLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSEProcessing = (dinEVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 95: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = decode_dinEVSEStatusType(stream, &exiFrag->EVSEStatus); - exiFrag->EVSEStatus_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVSEStatusCode = (dinDC_EVSEStatusCodeType) uint32; - exiFrag->EVSEStatusCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEVoltageLimitAchieved); - exiFrag->EVSEVoltageLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = decode_dinEVStatusType(stream, &exiFrag->EVStatus); - exiFrag->EVStatus_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 101: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EnergyTransferType = (dinEVSESupportedEnergyTransferType) uint32; - exiFrag->EnergyTransferType_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = decode_dinEntryType(stream, &exiFrag->Entry); - exiFrag->Entry_isUsed = 1u; - break; - case 103: - /* 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) <= dinEXIFragment_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; - } - } - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FaultCode = (dinfaultCodeType) uint32; - exiFrag->FaultCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2010: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) { - 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, dinEXIFragment_FaultMsg_CHARACTERS_SIZE); - } 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; - } - } - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2010: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; - } - } - break; - case 108: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= dinEXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.charactersLen); - if (errn == 0) { - if (exiFrag->GenChallenge.charactersLen >= 2) { - exiFrag->GenChallenge.charactersLen = (uint16_t)(exiFrag->GenChallenge.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->GenChallenge.charactersLen, exiFrag->GenChallenge.characters, dinEXIFragment_GenChallenge_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 110: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header) */ - errn = decode_dinMessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= dinEXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_dinKeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, dinEXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 115: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_dinKeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 116: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 117: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_dinManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, dinEXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ - errn = decode_dinMeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 120: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->MeterReading); - exiFrag->MeterReading_isUsed = 1u; - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = decode_dinMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = decode_dinMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 124: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, dinEXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 125: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= dinEXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 126: - /* START_ELEMENT({urn:iso:15118:2:2010: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 127: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification) */ - errn = decode_dinNotificationType(stream, &exiFrag->Notification); - exiFrag->Notification_isUsed = 1u; - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 130: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= dinEXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 131: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_dinObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 132: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= dinEXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 133: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_dinPGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 134: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= dinEXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= dinEXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule) */ - errn = decode_dinPMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_dinPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->PMaxScheduleID); - exiFrag->PMaxScheduleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter) */ - errn = decode_dinParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet) */ - errn = decode_dinParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = decode_dinPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = decode_dinPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (dinpaymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions) */ - errn = decode_dinPaymentOptionsType(stream, &exiFrag->PaymentOptions); - exiFrag->PaymentOptions_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= dinEXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = decode_dinPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = decode_dinPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->PowerSwitchClosed); - exiFrag->PowerSwitchClosed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = decode_dinPreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = decode_dinPreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 153: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry) */ - errn = decode_dinProfileEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 154: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= dinEXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 155: - /* START_ELEMENT({urn:iso:15118:2:2010: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 156: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_dinRSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 157: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReadyToChargeState); - exiFrag->ReadyToChargeState_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 159: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_dinReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_dinRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC); - exiFrag->RemainingTimeToBulkSoC_isUsed = 1u; - break; - case 162: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC); - exiFrag->RemainingTimeToFullSoC_isUsed = 1u; - break; - case 163: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (dinresponseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 164: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_dinRetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 165: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->RootCertificateID.charactersLen); - if (errn == 0) { - if (exiFrag->RootCertificateID.charactersLen >= 2) { - exiFrag->RootCertificateID.charactersLen = (uint16_t)(exiFrag->RootCertificateID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->RootCertificateID.charactersLen, exiFrag->RootCertificateID.characters, dinEXIFragment_RootCertificateID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->RootCertificateID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = decode_dinSAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 168: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple) */ - errn = decode_dinSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 169: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 170: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = decode_dinSASchedulesType(stream, &exiFrag->SASchedules); - exiFrag->SASchedules_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_dinSPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= dinEXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff) */ - errn = decode_dinSalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, dinEXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = decode_dinSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->SalesTariffID); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 178: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= dinEXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (dinpaymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService) */ - errn = decode_dinSelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList) */ - errn = decode_dinSelectedServiceListType(stream, &exiFrag->SelectedServiceList); - exiFrag->SelectedServiceList_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ - errn = decode_dinServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (dinserviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (dinserviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = decode_dinServiceChargeType(stream, &exiFrag->ServiceCharge); - exiFrag->ServiceCharge_isUsed = 1u; - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = decode_dinServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = decode_dinServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = decode_dinServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = decode_dinServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 192: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ - errn = decode_dinServiceTagListType(stream, &exiFrag->ServiceList); - exiFrag->ServiceList_isUsed = 1u; - break; - case 193: - /* START_ELEMENT({urn:iso:15118:2:2010: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) { - 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, dinEXIFragment_ServiceName_CHARACTERS_SIZE); - } 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 194: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList) */ - errn = decode_dinServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = decode_dinServicePaymentSelectionReqType(stream, &exiFrag->ServicePaymentSelectionReq); - exiFrag->ServicePaymentSelectionReq_isUsed = 1u; - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = decode_dinServicePaymentSelectionResType(stream, &exiFrag->ServicePaymentSelectionRes); - exiFrag->ServicePaymentSelectionRes_isUsed = 1u; - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, dinEXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, dinEXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ - errn = decode_dinServiceTagType(stream, &exiFrag->ServiceTag); - exiFrag->ServiceTag_isUsed = 1u; - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= dinEXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= dinEXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = decode_dinSessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 203: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = decode_dinSessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 204: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = decode_dinSessionStopType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = decode_dinSessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 206: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= dinEXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_dinSignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_dinSignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 209: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_dinSignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 210: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_dinSignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_dinSignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 212: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_dinSignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates) */ - errn = decode_dinSubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = decode_dinIntervalType(stream, &exiFrag->TimeInterval); - exiFrag->TimeInterval_isUsed = 1u; - break; - case 216: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_dinTransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_dinTransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->Unit = (dinunitSymbolType) uint32; - exiFrag->Unit_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = decode_dinAnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 221: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = decode_dinWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 222: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = decode_dinWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 223: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= dinEXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 224: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= dinEXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 225: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_dinX509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 226: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, dinEXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 227: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_dinX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 228: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= dinEXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, dinEXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 231: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, dinEXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 232: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= dinEXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->amount); - exiFrag->amount_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_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; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (dincostKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 238: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 239: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue) */ - errn = decode_dinPhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 241: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 243: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 244: - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, dinEXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (eventCode != 246) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/src/din/dinEXIDatatypesDecoder.h b/src/din/dinEXIDatatypesDecoder.h deleted file mode 100644 index d1cb133..0000000 --- a/src/din/dinEXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_din_DATATYPES_DECODER_H -#define EXI_din_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "dinEXIDatatypes.h" - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/din/dinEXIDatatypesEncoder.c b/src/din/dinEXIDatatypesEncoder.c deleted file mode 100644 index 08a2cca..0000000 --- a/src/din/dinEXIDatatypesEncoder.c +++ /dev/null @@ -1,12826 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "dinEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "dinEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_din_DATATYPES_ENCODER_C -#define EXI_din_DATATYPES_ENCODER_C - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType); -static int encode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType); -static int encode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType); -static int encode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType); -static int encode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType); -static int encode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType); -static int encode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType); -static int encode_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType); -static int encode_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType); -static int encode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType); -static int encode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType); -static int encode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType); -static int encode_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType); -static int encode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType); -static int encode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType); -static int encode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType); -static int encode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType); -static int encode_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType); -static int encode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType); -static int encode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType); -static int encode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType); -static int encode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType); -static int encode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType); -static int encode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType); -static int encode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType); -static int encode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType); -static int encode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType); -static int encode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType); -static int encode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType); -static int encode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType); -static int encode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType); -static int encode_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType); -static int encode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType); -static int encode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType); -static int encode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType); -static int encode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType); -static int encode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType); -static int encode_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType); -static int encode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType); -static int encode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType); -static int encode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType); -static int encode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType); -static int encode_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType); -static int encode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType); -static int encode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType); -static int encode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType); -static int encode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType); -static int encode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType); -static int encode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType); -static int encode_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType); -static int encode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType); -static int encode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType); -static int encode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType); -static int encode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType); -static int encode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType); -static int encode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType); -static int encode_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType); -static int encode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType); -static int encode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType); -static int encode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message); -static int encode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType); -static int encode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType); -static int encode_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType); -static int encode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType); -static int encode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType); -static int encode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType); -static int encode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType); -static int encode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType); -static int encode_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType); -static int encode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType); -static int encode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType); -static int encode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType); -static int encode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType); -static int encode_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType); -static int encode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType); -static int encode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType); -static int encode_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType); -static int encode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType); -static int encode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType); -static int encode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType); -static int encode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType); -static int encode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType); -static int encode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType); -static int encode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType); -static int encode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType); -static int encode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType); -static int encode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType); -static int encode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType); -static int encode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType); -static int encode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType); -static int encode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType); -static int encode_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType); -static int encode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType); -static int encode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType); -static int encode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType); -static int encode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType); -static int encode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType); -static int encode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType); -static int encode_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType); -static int encode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType); -static int encode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType); -static int encode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType); -static int encode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType); - - - /* Complex type name='urn:iso:15118:2:2010:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SessionID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int encode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID)] */ - if ( dinMeteringReceiptReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinMeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinMeteringReceiptReqType->Id.characters, dinMeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 1; - } 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)(dinMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytes, dinMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeteringReceiptReqType->SessionID.bytes, dinMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - if ( dinMeteringReceiptReqType->SAScheduleTupleID_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeteringReceiptReqType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinMeteringReceiptReqType->MeterInfo ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinBodyType(bitstream_t* stream, struct dinBodyType* dinBodyType) { - int grammarID = 6; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - if ( dinBodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &dinBodyType->BodyElement ); - } - grammarID = 4; - } else if ( dinBodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &dinBodyType->CableCheckReq ); - } - grammarID = 4; - } else if ( dinBodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &dinBodyType->CableCheckRes ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &dinBodyType->CertificateInstallationReq ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &dinBodyType->CertificateInstallationRes ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &dinBodyType->CertificateUpdateReq ); - } - grammarID = 4; - } else if ( dinBodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &dinBodyType->CertificateUpdateRes ); - } - grammarID = 4; - } else if ( dinBodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &dinBodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &dinBodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &dinBodyType->ChargingStatusReq ); - } - grammarID = 4; - } else if ( dinBodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &dinBodyType->ChargingStatusRes ); - } - grammarID = 4; - } else if ( dinBodyType->ContractAuthenticationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &dinBodyType->ContractAuthenticationReq ); - } - grammarID = 4; - } else if ( dinBodyType->ContractAuthenticationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &dinBodyType->ContractAuthenticationRes ); - } - grammarID = 4; - } else if ( dinBodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &dinBodyType->CurrentDemandReq ); - } - grammarID = 4; - } else if ( dinBodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &dinBodyType->CurrentDemandRes ); - } - grammarID = 4; - } else if ( dinBodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &dinBodyType->MeteringReceiptReq ); - } - grammarID = 4; - } else if ( dinBodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &dinBodyType->MeteringReceiptRes ); - } - grammarID = 4; - } else if ( dinBodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &dinBodyType->PaymentDetailsReq ); - } - grammarID = 4; - } else if ( dinBodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &dinBodyType->PaymentDetailsRes ); - } - grammarID = 4; - } else if ( dinBodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &dinBodyType->PowerDeliveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &dinBodyType->PowerDeliveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &dinBodyType->PreChargeReq ); - } - grammarID = 4; - } else if ( dinBodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &dinBodyType->PreChargeRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &dinBodyType->ServiceDetailReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &dinBodyType->ServiceDetailRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &dinBodyType->ServiceDiscoveryReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &dinBodyType->ServiceDiscoveryRes ); - } - grammarID = 4; - } else if ( dinBodyType->ServicePaymentSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &dinBodyType->ServicePaymentSelectionReq ); - } - grammarID = 4; - } else if ( dinBodyType->ServicePaymentSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &dinBodyType->ServicePaymentSelectionRes ); - } - grammarID = 4; - } else if ( dinBodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &dinBodyType->SessionSetupReq ); - } - grammarID = 4; - } else if ( dinBodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &dinBodyType->SessionSetupRes ); - } - grammarID = 4; - } else if ( dinBodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &dinBodyType->SessionStopReq ); - } - grammarID = 4; - } else if ( dinBodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &dinBodyType->SessionStopRes ); - } - grammarID = 4; - } else if ( dinBodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &dinBodyType->WeldingDetectionReq ); - } - grammarID = 4; - } else if ( dinBodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &dinBodyType->WeldingDetectionRes ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int encode_dinSessionSetupReqType(bitstream_t* stream, struct dinSessionSetupReqType* dinSessionSetupReqType) { - int grammarID = 7; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinSessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSessionSetupReqType->EVCCID.bytes, dinSessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinPowerDeliveryResType(bitstream_t* stream, struct dinPowerDeliveryResType* dinPowerDeliveryResType) { - int grammarID = 8; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPowerDeliveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 9; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus)] */ - if ( dinPowerDeliveryResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinPowerDeliveryResType->AC_EVSEStatus ); - } - grammarID = 4; - } else if ( dinPowerDeliveryResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinPowerDeliveryResType->DC_EVSEStatus ); - } - grammarID = 4; - } else if ( dinPowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &dinPowerDeliveryResType->EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ServiceID,"urn:iso:15118:2:2010:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDetailResType(bitstream_t* stream, struct dinServiceDetailResType* dinServiceDetailResType) { - int grammarID = 10; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailResType->ServiceID); - /* 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:2010:MsgBody}ServiceParameterList), END_ELEMENT] */ - if ( dinServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceParameterListType(stream, &dinServiceDetailResType->ServiceParameterList ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinWeldingDetectionResType(bitstream_t* stream, struct dinWeldingDetectionResType* dinWeldingDetectionResType) { - int grammarID = 13; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinWeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinWeldingDetectionResType->DC_EVSEStatus ); - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinWeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ContractAuthenticationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_dinContractAuthenticationResType(bitstream_t* stream, struct dinContractAuthenticationResType* dinContractAuthenticationResType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinContractAuthenticationResType->ResponseCode); - /* 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:2010: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, 1, dinContractAuthenticationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinCanonicalizationMethodType(bitstream_t* stream, struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) { - int grammarID = 18; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 18: - /* 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)(dinCanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->Algorithm.characters, dinCanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCanonicalizationMethodType->ANY.characters, dinCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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_dinSPKIDataType(bitstream_t* stream, struct dinSPKIDataType* dinSPKIDataType) { - int grammarID = 21; - int done = 0; - int wcDone = 0; - - unsigned int dinSPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 21: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 23; - } else if ( dinSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (dinSPKIDataType_SPKISexp_currArrayIndex < dinSPKIDataType->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)(dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytes, dinSPKIDataType->SPKISexp.array[dinSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - dinSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else if ( dinSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) { - int grammarID = 24; - int done = 0; - - unsigned int dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID)] */ - if (dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < dinListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - 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)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].characters, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen); - dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 25; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < dinListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - 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)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].characters, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex].charactersLen); - dinListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 25; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSelectedServiceListType(bitstream_t* stream, struct dinSelectedServiceListType* dinSelectedServiceListType) { - int grammarID = 26; - int done = 0; - - unsigned int dinSelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService)] */ - if (dinSelectedServiceListType_SelectedService_currArrayIndex < dinSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array [dinSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (dinSelectedServiceListType_SelectedService_currArrayIndex < dinSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &dinSelectedServiceListType->SelectedService.array [dinSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 27; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2010:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2010:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2010:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVSEMaximumPowerLimit{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinCurrentDemandResType(bitstream_t* stream, struct dinCurrentDemandResType* dinCurrentDemandResType) { - int grammarID = 28; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinCurrentDemandResType->DC_EVSEStatus ); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 31; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 32; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumVoltageLimit ); - } - grammarID = 36; - } else if ( dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 37; - } else if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 37; - } else if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), END_ELEMENT] */ - if ( dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinTransformType(bitstream_t* stream, struct dinTransformType* dinTransformType) { - int grammarID = 38; - int done = 0; - int wcDone = 0; - - unsigned int dinTransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 38: - /* 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)(dinTransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->Algorithm.characters, dinTransformType->Algorithm.charactersLen); - } - } - grammarID = 39; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (dinTransformType_XPath_currArrayIndex < dinTransformType->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)(dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].characters, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen); - dinTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 40; - } else if ( dinTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->ANY.characters, dinTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (dinTransformType_XPath_currArrayIndex < dinTransformType->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)(dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].characters, dinTransformType->XPath.array[dinTransformType_XPath_currArrayIndex].charactersLen); - dinTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 40; - } else if ( dinTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinTransformType->ANY.characters, dinTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 40; - } 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:2010:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DepartureTime,"urn:iso:15118:2:2010:MsgDataTypes":EAmount,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVMinCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVChargeParameterType(bitstream_t* stream, struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { - int grammarID = 41; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 41: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinAC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EAmount ); - } - grammarID = 43; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxVoltage ); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMaxCurrent ); - } - grammarID = 45; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVChargeParameterType->EVMinCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinX509DataType(bitstream_t* stream, struct dinX509DataType* dinX509DataType) { - int grammarID = 46; - int done = 0; - int wcDone = 0; - - unsigned int dinX509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int dinX509DataType_X509SKI_currArrayIndex = 0; - unsigned int dinX509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int dinX509DataType_X509Certificate_currArrayIndex = 0; - unsigned int dinX509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 46: - /* 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 (dinX509DataType_X509IssuerSerial_currArrayIndex < dinX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array [dinX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 47; - } else if (dinX509DataType_X509SKI_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytes, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen); - dinX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509SubjectName_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].characters, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen); - dinX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509Certificate_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytes, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen); - dinX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509CRL_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytes, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen); - dinX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* 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 (dinX509DataType_X509IssuerSerial_currArrayIndex < dinX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &dinX509DataType->X509IssuerSerial.array [dinX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 47; - } else if (dinX509DataType_X509SKI_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytes, dinX509DataType->X509SKI.array[dinX509DataType_X509SKI_currArrayIndex].bytesLen); - dinX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509SubjectName_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].characters, dinX509DataType->X509SubjectName.array[dinX509DataType_X509SubjectName_currArrayIndex].charactersLen); - dinX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509Certificate_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytes, dinX509DataType->X509Certificate.array[dinX509DataType_X509Certificate_currArrayIndex].bytesLen); - dinX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (dinX509DataType_X509CRL_currArrayIndex < dinX509DataType->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)(dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytes, dinX509DataType->X509CRL.array[dinX509DataType_X509CRL_currArrayIndex].bytesLen); - dinX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 47; - } else if ( dinX509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2010:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2010:MsgBody":ReceiptRequired,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinChargingStatusResType(bitstream_t* stream, struct dinChargingStatusResType* dinChargingStatusResType) { - int grammarID = 48; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 48: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinChargingStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ - 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)(dinChargingStatusResType->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinChargingStatusResType->EVSEID.bytes, dinChargingStatusResType->EVSEID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinChargingStatusResType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 51; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - if ( dinChargingStatusResType->EVSEMaxCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinChargingStatusResType->EVSEMaxCurrent ); - } - grammarID = 52; - } else if ( dinChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo ); - } - grammarID = 53; - } 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, dinChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - if ( dinChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &dinChargingStatusResType->MeterInfo ); - } - grammarID = 53; - } 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, dinChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired)] */ - 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, dinChargingStatusResType->ReceiptRequired); - /* 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:2010:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_dinWeldingDetectionReqType(bitstream_t* stream, struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { - int grammarID = 55; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinWeldingDetectionReqType->DC_EVStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignaturePropertiesType(bitstream_t* stream, struct dinSignaturePropertiesType* dinSignaturePropertiesType) { - int grammarID = 56; - int done = 0; - - unsigned int dinSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 56: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( dinSignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertiesType->Id.characters, dinSignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 57; - } else if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (dinSignaturePropertiesType_SignatureProperty_currArrayIndex < dinSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &dinSignaturePropertiesType->SignatureProperty.array [dinSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ContractAuthenticationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinContractAuthenticationReqType(bitstream_t* stream, struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - if ( dinContractAuthenticationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinContractAuthenticationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->Id.characters, dinContractAuthenticationReqType->Id.charactersLen); - } - } - grammarID = 60; - } else if ( dinContractAuthenticationReqType->GenChallenge_isUsed == 1u ) { - 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)(dinContractAuthenticationReqType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), END_ELEMENT] */ - if ( dinContractAuthenticationReqType->GenChallenge_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)(dinContractAuthenticationReqType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) { - int grammarID = 61; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 61: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinDC_EVPowerDeliveryParameterType->DC_EVStatus ); - } - grammarID = 62; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete)] */ - if ( dinDC_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, dinDC_EVPowerDeliveryParameterType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 63; - } 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, dinDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVSEChargeParameterType(bitstream_t* stream, struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_dinCableCheckReqType(bitstream_t* stream, struct dinCableCheckReqType* dinCableCheckReqType) { - int grammarID = 55; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinCableCheckReqType->DC_EVStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2010:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2010:MsgDataTypes":BulkSOC{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVChargeParameterType(bitstream_t* stream, struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { - int grammarID = 65; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinDC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumCurrentLimit ); - } - grammarID = 67; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumPowerLimit ); - } - grammarID = 68; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 69; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 69; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyCapacity ); - } - grammarID = 70; - } else if ( dinDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 71; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 71; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_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)(dinDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( dinDC_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)(dinDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTuple{1-UNBOUNDED})', derivedBy='EXTENSION'. */ -static int encode_dinSAScheduleListType(bitstream_t* stream, struct dinSAScheduleListType* dinSAScheduleListType) { - int grammarID = 73; - int done = 0; - - unsigned int dinSAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 73: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple)] */ - if (dinSAScheduleListType_SAScheduleTuple_currArrayIndex < dinSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array [dinSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 74; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (dinSAScheduleListType_SAScheduleTuple_currArrayIndex < dinSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &dinSAScheduleListType->SAScheduleTuple.array [dinSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinPMaxScheduleType(bitstream_t* stream, struct dinPMaxScheduleType* dinPMaxScheduleType) { - int grammarID = 75; - int done = 0; - - unsigned int dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 75: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPMaxScheduleType->PMaxScheduleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 76; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry)] */ - if (dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < dinPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array [dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 77; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < dinPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &dinPMaxScheduleType->PMaxScheduleEntry.array [dinPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 77; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServicePaymentSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2010:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int encode_dinServicePaymentSelectionReqType(bitstream_t* stream, struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { - int grammarID = 78; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServicePaymentSelectionReqType->SelectedPaymentOption); - /* 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:2010:MsgBody}SelectedServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSelectedServiceListType(stream, &dinServicePaymentSelectionReqType->SelectedServiceList ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":start,"urn:iso:15118:2:2010:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinRelativeTimeIntervalType(bitstream_t* stream, struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { - int grammarID = 80; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start)] */ - 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, dinRelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 81; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), END_ELEMENT] */ - if ( dinRelativeTimeIntervalType->duration_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, dinRelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVStatusType(bitstream_t* stream, struct dinEVStatusType* dinEVStatusType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinPreChargeResType(bitstream_t* stream, struct dinPreChargeResType* dinPreChargeResType) { - int grammarID = 13; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinPreChargeResType->DC_EVSEStatus ); - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeResType->EVSEPresentVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2010:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2010:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVSEChargeParameterType(bitstream_t* stream, struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { - int grammarID = 82; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinDC_EVSEChargeParameterType->DC_EVSEStatus ); - } - grammarID = 83; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit ); - } - grammarID = 84; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumPowerLimit ); - } - grammarID = 85; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 86; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 86; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit ); - } - grammarID = 87; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit ); - } - grammarID = 88; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 89; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":GenChallenge,"urn:iso:15118:2:2010:MsgBody":DateTimeNow)', derivedBy='EXTENSION'. */ -static int encode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymentDetailsResType* dinPaymentDetailsResType) { - int grammarID = 91; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 91: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinPaymentDetailsResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 92; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge)] */ - 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)(dinPaymentDetailsResType->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinPaymentDetailsResType->GenChallenge.characters, dinPaymentDetailsResType->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 93; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow)] */ - 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, dinPaymentDetailsResType->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinDSAKeyValueType(bitstream_t* stream, struct dinDSAKeyValueType* dinDSAKeyValueType) { - int grammarID = 94; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 94: - /* 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 ( dinDSAKeyValueType->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)(dinDSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->P.bytes, dinDSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 95; - } else if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->G.bytes, dinDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 95: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Q.bytes, dinDSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 98; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->G.bytes, dinDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* 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)(dinDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Y.bytes, dinDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->J.bytes, dinDSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 99; - } else if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Seed.bytes, dinDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->Seed.bytes, dinDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( dinDSAKeyValueType->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)(dinDSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinDSAKeyValueType->PgenCounter.bytes, dinDSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinSASchedulesType(bitstream_t* stream, struct dinSASchedulesType* dinSASchedulesType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":RetryCounter)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCertificateUpdateResType* dinCertificateUpdateResType) { - int grammarID = 101; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinCertificateUpdateResType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateResType->Id.characters, dinCertificateUpdateResType->Id.charactersLen); - } - } - grammarID = 102; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCertificateUpdateResType->ResponseCode); - /* 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:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 104; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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)(dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytes, dinCertificateUpdateResType->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 105; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateUpdateResType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateResType->DHParams.bytes, dinCertificateUpdateResType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 106; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateUpdateResType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateResType->ContractID.characters, dinCertificateUpdateResType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 107; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter)] */ - 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, dinCertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVChargeParameterType(bitstream_t* stream, struct dinEVChargeParameterType* dinEVChargeParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgHeader":SessionID,"urn:iso:15118:2:2010:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinMessageHeaderType(bitstream_t* stream, struct dinMessageHeaderType* dinMessageHeaderType) { - int grammarID = 108; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinMessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMessageHeaderType->SessionID.bytes, dinMessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 109; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( dinMessageHeaderType->Notification_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinNotificationType(stream, &dinMessageHeaderType->Notification ); - } - grammarID = 110; - } else if ( dinMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &dinMessageHeaderType->Signature ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 110: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( dinMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &dinMessageHeaderType->Signature ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinBodyBaseType(bitstream_t* stream, struct dinBodyBaseType* dinBodyBaseType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinKeyValueType(bitstream_t* stream, struct dinKeyValueType* dinKeyValueType) { - int grammarID = 111; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 111: - /* 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 ( dinKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue ); - } - grammarID = 112; - } else if ( dinKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue ); - } - grammarID = 112; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 112; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 113; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 112: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinKeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 112; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* 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 ( dinKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &dinKeyValueType->DSAKeyValue ); - } - grammarID = 112; - } else if ( dinKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &dinKeyValueType->RSAKeyValue ); - } - grammarID = 112; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 112; - } else if ( dinKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyValueType->ANY.characters, dinKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 113; - } 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:2010:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinIntervalType(bitstream_t* stream, struct dinIntervalType* dinIntervalType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing,"urn:iso:15118:2:2010:MsgDataTypes":SASchedules,"urn:iso:15118:2:2010:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_dinChargeParameterDiscoveryResType(bitstream_t* stream, struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { - int grammarID = 114; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 114: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, dinChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules)] */ - if ( dinChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &dinChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 117; - } else if ( dinChargeParameterDiscoveryResType->SASchedules_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &dinChargeParameterDiscoveryResType->SASchedules ); - } - grammarID = 117; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter)] */ - if ( dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &dinChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ReadyToChargeState,"urn:iso:15118:2:2010:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinPowerDeliveryReqType(bitstream_t* stream, struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) { - int grammarID = 118; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState)] */ - 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, dinPowerDeliveryReqType->ReadyToChargeState); - /* 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:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( dinPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinChargingProfileType(stream, &dinPowerDeliveryReqType->ChargingProfile ); - } - grammarID = 120; - } else if ( dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if ( dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if ( dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &dinPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate,"urn:iso:15118:2:2010:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinCertificateChainType(bitstream_t* stream, struct dinCertificateChainType* dinCertificateChainType) { - int grammarID = 121; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinCertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateChainType->Certificate.bytes, dinCertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 122; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( dinCertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSubCertificatesType(stream, &dinCertificateChainType->SubCertificates ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinTransformsType(bitstream_t* stream, struct dinTransformsType* dinTransformsType) { - int grammarID = 123; - int done = 0; - - unsigned int dinTransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 123: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (dinTransformsType_Transform_currArrayIndex < dinTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinTransformType(stream, &dinTransformsType->Transform.array [dinTransformsType_Transform_currArrayIndex++]); - } - grammarID = 124; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (dinTransformsType_Transform_currArrayIndex < dinTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformType(stream, &dinTransformsType->Transform.array [dinTransformsType_Transform_currArrayIndex++]); - } - grammarID = 124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int encode_dinEntryType(bitstream_t* stream, struct dinEntryType* dinEntryType) { - int grammarID = 125; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinEntryType->RelativeTimeInterval ); - } - grammarID = 4; - } else if ( dinEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinEntryType->TimeInterval ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionStopType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_dinSessionStopType(bitstream_t* stream, struct dinSessionStopType* dinSessionStopType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int encode_dinServiceDetailReqType(bitstream_t* stream, struct dinServiceDetailReqType* dinServiceDetailReqType) { - int grammarID = 126; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinDigestMethodType(bitstream_t* stream, struct dinDigestMethodType* dinDigestMethodType) { - int grammarID = 18; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 18: - /* 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)(dinDigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->Algorithm.characters, dinDigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->ANY.characters, dinDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinDigestMethodType->ANY.characters, dinDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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:2010:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":boolValue|"urn:iso:15118:2:2010:MsgDataTypes":byteValue|"urn:iso:15118:2:2010:MsgDataTypes":shortValue|"urn:iso:15118:2:2010:MsgDataTypes":intValue|"urn:iso:15118:2:2010:MsgDataTypes":physicalValue|"urn:iso:15118:2:2010:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int encode_dinParameterType(bitstream_t* stream, struct dinParameterType* dinParameterType) { - int grammarID = 127; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 127: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinParameterType->Name.characters, dinParameterType->Name.charactersLen); - } - } - grammarID = 128; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* StartTag[ATTRIBUTE[ENUMERATION](ValueType)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, dinParameterType->ValueType); - } - grammarID = 129; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 129: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue)] */ - if ( dinParameterType->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, dinParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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)(dinParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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, dinParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->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, dinParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( dinParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinParameterType->physicalValue ); - } - grammarID = 4; - } else if ( dinParameterType->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)(dinParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinParameterType->stringValue.characters, dinParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_dinChargingStatusReqType(bitstream_t* stream, struct dinChargingStatusReqType* dinChargingStatusReqType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignatureMethodType(bitstream_t* stream, struct dinSignatureMethodType* dinSignatureMethodType) { - int grammarID = 130; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 130: - /* 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)(dinSignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->Algorithm.characters, dinSignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 131; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 131: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinSignatureMethodType->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, dinSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 132; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinSignatureMethodType->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, dinSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureMethodType->ANY.characters, dinSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 132; - } 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:2010:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateInstallationReqType(bitstream_t* stream, struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) { - int grammarID = 133; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 133: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert)] */ - if ( dinCertificateInstallationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationReqType->Id.characters, dinCertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 134; - } 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)(dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytes, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->OEMProvisioningCert.bytes, dinCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &dinCertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateInstallationReqType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationReqType->DHParams.bytes, dinCertificateInstallationReqType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":EPriceLevel,"urn:iso:15118:2:2010:MsgDataTypes":ConsumptionCost{0-UNBOUNDED}))', derivedBy='EXTENSION'. */ -static int encode_dinSalesTariffEntryType(bitstream_t* stream, struct dinSalesTariffEntryType* dinSalesTariffEntryType) { - int grammarID = 137; - int done = 0; - - unsigned int dinSalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 137: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinSalesTariffEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinSalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 138; - } else if ( dinSalesTariffEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinSalesTariffEntryType->TimeInterval ); - } - grammarID = 138; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel)] */ - 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)(dinSalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (dinSalesTariffEntryType_ConsumptionCost_currArrayIndex < dinSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinConsumptionCostType(stream, &dinSalesTariffEntryType->ConsumptionCost.array [dinSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":PaymentOptions,"urn:iso:15118:2:2010:MsgBody":ChargeService,"urn:iso:15118:2:2010:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDiscoveryResType(bitstream_t* stream, struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { - int grammarID = 140; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceDiscoveryResType->ResponseCode); - /* 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:2010:MsgBody}PaymentOptions)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPaymentOptionsType(stream, &dinServiceDiscoveryResType->PaymentOptions ); - } - grammarID = 142; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &dinServiceDiscoveryResType->ChargeService ); - } - grammarID = 143; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ - if ( dinServiceDiscoveryResType->ServiceList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceTagListType(stream, &dinServiceDiscoveryResType->ServiceList ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2010:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinParameterSetType(bitstream_t* stream, struct dinParameterSetType* dinParameterSetType) { - int grammarID = 144; - int done = 0; - - unsigned int dinParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinParameterSetType->ParameterSetID); - /* 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:2010:MsgDataTypes}Parameter)] */ - if (dinParameterSetType_Parameter_currArrayIndex < dinParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinParameterType(stream, &dinParameterSetType->Parameter.array [dinParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 146; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), END_ELEMENT] */ - if (dinParameterSetType_Parameter_currArrayIndex < dinParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinParameterType(stream, &dinParameterSetType->Parameter.array [dinParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2010:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2010:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2010:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2010:MsgBody":ChargingComplete,"urn:iso:15118:2:2010:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2010:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int encode_dinCurrentDemandReqType(bitstream_t* stream, struct dinCurrentDemandReqType* dinCurrentDemandReqType) { - int grammarID = 147; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 147: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinCurrentDemandReqType->DC_EVStatus ); - } - grammarID = 148; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 149; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumVoltageLimit ); - } - grammarID = 150; - } else if ( dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 151; - } else if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 151; - } else if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 152; - } else if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete)] */ - if ( dinCurrentDemandReqType->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, dinCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToFullSoC ); - } - grammarID = 155; - } else if ( dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 156; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 156; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":DC_EVStatus,"urn:iso:15118:2:2010:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2010:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinPreChargeReqType(bitstream_t* stream, struct dinPreChargeReqType* dinPreChargeReqType) { - int grammarID = 157; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &dinPreChargeReqType->DC_EVStatus ); - } - grammarID = 158; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetVoltage ); - } - grammarID = 159; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinPreChargeReqType->EVTargetCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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#,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_dinSignatureType(bitstream_t* stream, struct dinSignatureType* dinSignatureType) { - int grammarID = 160; - int done = 0; - - unsigned int dinSignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 160: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( dinSignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureType->Id.characters, dinSignatureType->Id.charactersLen); - } - } - grammarID = 161; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo ); - } - grammarID = 162; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &dinSignatureType->SignedInfo ); - } - grammarID = 162; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &dinSignatureType->SignatureValue ); - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( dinSignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &dinSignatureType->KeyInfo ); - } - grammarID = 164; - } else if (dinSignatureType_Object_currArrayIndex < dinSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinObjectType(stream, &dinSignatureType->Object.array [dinSignatureType_Object_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (dinSignatureType_Object_currArrayIndex < dinSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinObjectType(stream, &dinSignatureType->Object.array [dinSignatureType_Object_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinReferenceType(bitstream_t* stream, struct dinReferenceType* dinReferenceType) { - int grammarID = 165; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 165: - /* 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 ( dinReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Id.characters, dinReferenceType->Id.charactersLen); - } - } - grammarID = 166; - } else if ( dinReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Type.characters, dinReferenceType->Type.charactersLen); - } - } - grammarID = 167; - } else if ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 166: - /* 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 ( dinReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->Type.characters, dinReferenceType->Type.charactersLen); - } - } - grammarID = 167; - } else if ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* 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 ( dinReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinReferenceType->URI.characters, dinReferenceType->URI.charactersLen); - } - } - grammarID = 168; - } else if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( dinReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinReferenceType->Transforms ); - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &dinReferenceType->DigestMethod ); - } - grammarID = 170; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 170: - /* 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)(dinReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinReferenceType->DigestValue.bytes, dinReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2010:MsgDataTypes":ChargingProfileEntryMaxPower)', derivedBy='RESTRICTION'. */ -static int encode_dinProfileEntryType(bitstream_t* stream, struct dinProfileEntryType* dinProfileEntryType) { - int grammarID = 171; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 171: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinProfileEntryType->ChargingProfileEntryStart); - /* 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:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinProfileEntryType->ChargingProfileEntryMaxPower); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDef":Header,"urn:iso:15118:2:2010:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int encode_dinAnonType_V2G_Message(bitstream_t* stream, struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) { - int grammarID = 173; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 173: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinMessageHeaderType(stream, &dinAnonType_V2G_Message->Header ); - } - grammarID = 174; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinBodyType(stream, &dinAnonType_V2G_Message->Body ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":EVRequestedEnergyTransferType,"urn:iso:15118:2:2010:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_dinChargeParameterDiscoveryReqType(bitstream_t* stream, struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) { - int grammarID = 175; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType)] */ - 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, dinChargeParameterDiscoveryReqType->EVRequestedEnergyTransferType); - /* 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:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter)] */ - if ( dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 4; - } else if ( dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &dinChargeParameterDiscoveryReqType->EVChargeParameter ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":startValue,"urn:iso:15118:2:2010:MsgDataTypes":Cost{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinConsumptionCostType(bitstream_t* stream, struct dinConsumptionCostType* dinConsumptionCostType) { - int grammarID = 177; - int done = 0; - - unsigned int dinConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 177: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue)] */ - 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, dinConsumptionCostType->startValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 178; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), END_ELEMENT] */ - if (dinConsumptionCostType_Cost_currArrayIndex < dinConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinCostType(stream, &dinConsumptionCostType->Cost.array [dinConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinRSAKeyValueType(bitstream_t* stream, struct dinRSAKeyValueType* dinRSAKeyValueType) { - int grammarID = 179; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 179: - /* 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)(dinRSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinRSAKeyValueType->Modulus.bytes, dinRSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 180; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* 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)(dinRSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinRSAKeyValueType->Exponent.bytes, dinRSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int encode_dinServiceType(bitstream_t* stream, struct dinServiceType* dinServiceType) { - int grammarID = 181; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 181: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &dinServiceType->ServiceTag ); - } - grammarID = 182; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceTagListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Service{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceTagListType(bitstream_t* stream, struct dinServiceTagListType* dinServiceTagListType) { - int grammarID = 183; - int done = 0; - - unsigned int dinServiceTagListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 183: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ - if (dinServiceTagListType_Service_currArrayIndex < dinServiceTagListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceType(stream, &dinServiceTagListType->Service.array [dinServiceTagListType_Service_currArrayIndex++]); - } - grammarID = 184; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ - if (dinServiceTagListType_Service_currArrayIndex < dinServiceTagListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinServiceType(stream, &dinServiceTagListType->Service.array [dinServiceTagListType_Service_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVSEStatusType(bitstream_t* stream, struct dinEVSEStatusType* dinEVSEStatusType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":EVSEID,"urn:iso:15118:2:2010:MsgBody":DateTimeNow{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinSessionSetupResType(bitstream_t* stream, struct dinSessionSetupResType* dinSessionSetupResType) { - int grammarID = 185; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSessionSetupResType->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:2010:MsgBody}EVSEID)] */ - 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)(dinSessionSetupResType->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSessionSetupResType->EVSEID.bytes, dinSessionSetupResType->EVSEID.bytesLen); - } - /* 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:2010:MsgBody}DateTimeNow), END_ELEMENT] */ - if ( dinSessionSetupResType->DateTimeNow_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, dinSessionSetupResType->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_dinEVPowerDeliveryParameterType(bitstream_t* stream, struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) { - int grammarID = 64; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 64: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509IssuerSerialType* dinX509IssuerSerialType) { - int grammarID = 188; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 188: - /* 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)(dinX509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinX509IssuerSerialType->X509IssuerName.characters, dinX509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 189; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* 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, dinX509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinSelectedServiceType(bitstream_t* stream, struct dinSelectedServiceType* dinSelectedServiceType) { - int grammarID = 190; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 190: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 191; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - if ( dinSelectedServiceType->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, dinSelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_dinMeteringReceiptResType(bitstream_t* stream, struct dinMeteringReceiptResType* dinMeteringReceiptResType) { - int grammarID = 192; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 192: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinMeteringReceiptResType->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:2010:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinMeteringReceiptResType->AC_EVSEStatus ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVReady,"urn:iso:15118:2:2010:MsgDataTypes":EVCabinConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVRESSConditioning{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2010:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVStatusType(bitstream_t* stream, struct dinDC_EVStatusType* dinDC_EVStatusType) { - int grammarID = 193; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 193: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVStatusType->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 194; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - if ( dinDC_EVStatusType->EVCabinConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVCabinConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 195; - } else if ( dinDC_EVStatusType->EVRESSConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode)] */ - if ( dinDC_EVStatusType->EVRESSConditioning_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, dinDC_EVStatusType->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 196; - } 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, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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)(dinDC_EVStatusType->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Multiplier,"urn:iso:15118:2:2010:MsgDataTypes":Unit{0-1},"urn:iso:15118:2:2010:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int encode_dinPhysicalValueType(bitstream_t* stream, struct dinPhysicalValueType* dinPhysicalValueType) { - int grammarID = 198; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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)(dinPhysicalValueType->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ - if ( dinPhysicalValueType->Unit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, dinPhysicalValueType->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 200; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinPhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinManifestType(bitstream_t* stream, struct dinManifestType* dinManifestType) { - int grammarID = 201; - int done = 0; - - unsigned int dinManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 201: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( dinManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinManifestType->Id.characters, dinManifestType->Id.charactersLen); - } - } - grammarID = 202; - } else if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 202: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (dinManifestType_Reference_currArrayIndex < dinManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinManifestType->Reference.array [dinManifestType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2010:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int encode_dinPMaxScheduleEntryType(bitstream_t* stream, struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { - int grammarID = 204; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 204: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval)] */ - if ( dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &dinPMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 205; - } else if ( dinPMaxScheduleEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &dinPMaxScheduleEntryType->TimeInterval ); - } - grammarID = 205; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinPMaxScheduleEntryType->PMax); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceParameterListType(bitstream_t* stream, struct dinServiceParameterListType* dinServiceParameterListType) { - int grammarID = 206; - int done = 0; - - unsigned int dinServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 206: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet)] */ - if (dinServiceParameterListType_ParameterSet_currArrayIndex < dinServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array [dinServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 207; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (dinServiceParameterListType_ParameterSet_currArrayIndex < dinServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &dinServiceParameterListType->ParameterSet.array [dinServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignatureValueType(bitstream_t* stream, struct dinSignatureValueType* dinSignatureValueType) { - int grammarID = 208; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 208: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( dinSignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignatureValueType->Id.characters, dinSignatureValueType->Id.charactersLen); - } - } - grammarID = 209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSignatureValueType->CONTENT.bytes, dinSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSignatureValueType->CONTENT.bytes, dinSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,PaymentOptionsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PaymentOption{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinPaymentOptionsType(bitstream_t* stream, struct dinPaymentOptionsType* dinPaymentOptionsType) { - int grammarID = 210; - int done = 0; - - unsigned int dinPaymentOptionsType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption)] */ - if (dinPaymentOptionsType_PaymentOption_currArrayIndex < dinPaymentOptionsType->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, dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 211; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (dinPaymentOptionsType_PaymentOption_currArrayIndex < dinPaymentOptionsType->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, dinPaymentOptionsType->PaymentOption.array[dinPaymentOptionsType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceTagType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":ServiceID,"urn:iso:15118:2:2010:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2010:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2010:MsgDataTypes":ServiceScope{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagType* dinServiceTagType) { - int grammarID = 212; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceTagType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 213; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory)] */ - if ( dinServiceTagType->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)(dinServiceTagType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceTagType->ServiceName.characters, dinServiceTagType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } 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, dinServiceTagType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 215; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceTagType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 215; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ - if ( dinServiceTagType->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)(dinServiceTagType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceTagType->ServiceScope.characters, dinServiceTagType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":PowerSwitchClosed,"urn:iso:15118:2:2010:MsgDataTypes":RCD,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVSEStatusType(bitstream_t* stream, struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) { - int grammarID = 216; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 216: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ - 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, dinAC_EVSEStatusType->PowerSwitchClosed); - /* 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:2010: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, dinAC_EVSEStatusType->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = encodeUnsignedInteger32(stream, dinAC_EVSEStatusType->NotificationMaxDelay); - /* 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:2010: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, dinAC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ListOfRootCertificateIDs,"urn:iso:15118:2:2010:MsgBody":DHParams)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) { - int grammarID = 220; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 220: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( dinCertificateUpdateReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinCertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateReqType->Id.characters, dinCertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 221; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 221: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateUpdateReqType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateUpdateReqType->ContractID.characters, dinCertificateUpdateReqType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &dinCertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateUpdateReqType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateUpdateReqType->DHParams.bytes, dinCertificateUpdateReqType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServicePaymentSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_dinServicePaymentSelectionResType(bitstream_t* stream, struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) { - int grammarID = 223; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinServicePaymentSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinSAScheduleTupleType(bitstream_t* stream, struct dinSAScheduleTupleType* dinSAScheduleTupleType) { - int grammarID = 224; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 224: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinSAScheduleTupleType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 225; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPMaxScheduleType(stream, &dinSAScheduleTupleType->PMaxSchedule ); - } - grammarID = 226; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff), END_ELEMENT] */ - if ( dinSAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSalesTariffType(stream, &dinSAScheduleTupleType->SalesTariff ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2010:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinChargingProfileType(bitstream_t* stream, struct dinChargingProfileType* dinChargingProfileType) { - int grammarID = 227; - int done = 0; - - unsigned int dinChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 227: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinChargingProfileType->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 228; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry)] */ - if (dinChargingProfileType_ProfileEntry_currArrayIndex < dinChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array [dinChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (dinChargingProfileType_ProfileEntry_currArrayIndex < dinChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &dinChargingProfileType->ProfileEntry.array [dinChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2010:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int encode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) { - int grammarID = 230; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( dinServiceDiscoveryReqType->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)(dinServiceDiscoveryReqType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinServiceDiscoveryReqType->ServiceScope.characters, dinServiceDiscoveryReqType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 231; - } else if ( dinServiceDiscoveryReqType->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, dinServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( dinServiceDiscoveryReqType->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, dinServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxVoltage,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMaxCurrent,"urn:iso:15118:2:2010:MsgDataTypes":EVSEMinCurrent)', derivedBy='EXTENSION'. */ -static int encode_dinAC_EVSEChargeParameterType(bitstream_t* stream, struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) { - int grammarID = 232; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &dinAC_EVSEChargeParameterType->AC_EVSEStatus ); - } - grammarID = 233; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxVoltage ); - } - grammarID = 234; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMaxCurrent ); - } - grammarID = 235; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinAC_EVSEChargeParameterType->EVSEMinCurrent ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* dinKeyInfoType) { - int grammarID = 236; - int done = 0; - int wcDone = 0; - - unsigned int dinKeyInfoType_KeyName_currArrayIndex = 0; - unsigned int dinKeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int dinKeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int dinKeyInfoType_X509Data_currArrayIndex = 0; - unsigned int dinKeyInfoType_PGPData_currArrayIndex = 0; - unsigned int dinKeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int dinKeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 236: - /* 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 ( dinKeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->Id.characters, dinKeyInfoType->Id.charactersLen); - } - } - grammarID = 237; - } else if (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 238; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* 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 (dinKeyInfoType_KeyName_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].characters, dinKeyInfoType->KeyName.array[dinKeyInfoType_KeyName_currArrayIndex].charactersLen); - dinKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (dinKeyInfoType_KeyValue_currArrayIndex < dinKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &dinKeyInfoType->KeyValue.array [dinKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_RetrievalMethod_currArrayIndex < dinKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &dinKeyInfoType->RetrievalMethod.array [dinKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_X509Data_currArrayIndex < dinKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &dinKeyInfoType->X509Data.array [dinKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_PGPData_currArrayIndex < dinKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &dinKeyInfoType->PGPData.array [dinKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_SPKIData_currArrayIndex < dinKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &dinKeyInfoType->SPKIData.array [dinKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 238; - } else if (dinKeyInfoType_MgmtData_currArrayIndex < dinKeyInfoType->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)(dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].characters, dinKeyInfoType->MgmtData.array[dinKeyInfoType_MgmtData_currArrayIndex].charactersLen); - dinKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 238; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 238; - } else if ( dinKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinKeyInfoType->ANY.characters, dinKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 239; - } 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:2010:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ContractID,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int encode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { - int grammarID = 240; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinPaymentDetailsReqType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinPaymentDetailsReqType->ContractID.characters, dinPaymentDetailsReqType->ContractID.charactersLen); - } - /* 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:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinPaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2010:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_dinCableCheckResType(bitstream_t* stream, struct dinCableCheckResType* dinCableCheckResType) { - int grammarID = 242; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 242: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCableCheckResType->ResponseCode); - /* 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:2010:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &dinCableCheckResType->DC_EVSEStatus ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, 1, dinCableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinObjectType(bitstream_t* stream, struct dinObjectType* dinObjectType) { - int grammarID = 244; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 244: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Encoding.characters, dinObjectType->Encoding.charactersLen); - } - } - grammarID = 245; - } else if ( dinObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Id.characters, dinObjectType->Id.charactersLen); - } - } - grammarID = 246; - } else if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 245: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->Id.characters, dinObjectType->Id.charactersLen); - } - } - grammarID = 246; - } else if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( dinObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->MimeType.characters, dinObjectType->MimeType.charactersLen); - } - } - grammarID = 19; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinObjectType->ANY.characters, dinObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } 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:2010:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_dinSessionStopResType(bitstream_t* stream, struct dinSessionStopResType* dinSessionStopResType) { - int grammarID = 223; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinSessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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#,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_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoType* dinSignedInfoType) { - int grammarID = 247; - int done = 0; - - unsigned int dinSignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 247: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( dinSignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignedInfoType->Id.characters, dinSignedInfoType->Id.charactersLen); - } - } - grammarID = 248; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod ); - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 248: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &dinSignedInfoType->CanonicalizationMethod ); - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &dinSignedInfoType->SignatureMethod ); - } - grammarID = 250; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (dinSignedInfoType_Reference_currArrayIndex < dinSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinSignedInfoType->Reference.array [dinSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (dinSignedInfoType_Reference_currArrayIndex < dinSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &dinSignedInfoType->Reference.array [dinSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2010:MsgDataTypes":NumEPriceLevels,"urn:iso:15118:2:2010:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffType* dinSalesTariffType) { - int grammarID = 251; - int done = 0; - - unsigned int dinSalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinSalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSalesTariffType->Id.characters, dinSalesTariffType->Id.charactersLen); - } - } - grammarID = 252; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinSalesTariffType->SalesTariffID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - if ( dinSalesTariffType->SalesTariffDescription_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)(dinSalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSalesTariffType->SalesTariffDescription.characters, dinSalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 254; - } 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)(dinSalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels)] */ - 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)(dinSalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry)] */ - if (dinSalesTariffType_SalesTariffEntry_currArrayIndex < dinSalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array [dinSalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 256; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (dinSalesTariffType_SalesTariffEntry_currArrayIndex < dinSalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &dinSalesTariffType->SalesTariffEntry.array [dinSalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":costKind,"urn:iso:15118:2:2010:MsgDataTypes":amount,"urn:iso:15118:2:2010:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinCostType(bitstream_t* stream, struct dinCostType* dinCostType) { - int grammarID = 257; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 257: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 258; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinCostType->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 259; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), END_ELEMENT] */ - if ( dinCostType->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)(dinCostType->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,ServiceChargeType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2010:MsgDataTypes":ServiceTag,"urn:iso:15118:2:2010:MsgDataTypes":FreeService),("urn:iso:15118:2:2010:MsgDataTypes":EnergyTransferType))', derivedBy='EXTENSION'. */ -static int encode_dinServiceChargeType(bitstream_t* stream, struct dinServiceChargeType* dinServiceChargeType) { - int grammarID = 260; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 260: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &dinServiceChargeType->ServiceTag ); - } - grammarID = 261; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinServiceChargeType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 262; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType)] */ - 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, dinServiceChargeType->EnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":EVSEStatusCode,"urn:iso:15118:2:2010:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2010:MsgDataTypes":EVSENotification)', derivedBy='EXTENSION'. */ -static int encode_dinDC_EVSEStatusType(bitstream_t* stream, struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { - int grammarID = 263; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode)] */ - if ( dinDC_EVSEStatusType->EVSEIsolationStatus_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, dinDC_EVSEStatusType->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } 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, dinDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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, dinDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2010: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 = encodeUnsignedInteger32(stream, dinDC_EVSEStatusType->NotificationMaxDelay); - /* 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:2010: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, dinDC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrievalMethodType* dinRetrievalMethodType) { - int grammarID = 265; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 265: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->Type.characters, dinRetrievalMethodType->Type.charactersLen); - } - } - grammarID = 266; - } else if ( dinRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 267; - } else if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 266: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 267; - } else if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 267: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( dinRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &dinRetrievalMethodType->Transforms ); - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":FaultCode,"urn:iso:15118:2:2010:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinNotificationType(bitstream_t* stream, struct dinNotificationType* dinNotificationType) { - int grammarID = 268; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 268: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinNotificationType->FaultCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 269; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), END_ELEMENT] */ - if ( dinNotificationType->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)(dinNotificationType->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinNotificationType->FaultMsg.characters, dinNotificationType->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinPGPDataType(bitstream_t* stream, struct dinPGPDataType* dinPGPDataType) { - int grammarID = 270; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 270: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyID.bytes, dinPGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 271; - } else if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytes, dinPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( dinPGPDataType->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)(dinPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinPGPDataType->PGPKeyPacket.bytes, dinPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 272; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 272; - } else if ( dinPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 272; - } else if ( dinPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgBody":ResponseCode,"urn:iso:15118:2:2010:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2010:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2010:MsgBody":DHParams,"urn:iso:15118:2:2010:MsgBody":ContractID)', derivedBy='EXTENSION'. */ -static int encode_dinCertificateInstallationResType(bitstream_t* stream, struct dinCertificateInstallationResType* dinCertificateInstallationResType) { - int grammarID = 273; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 273: - /* FirstStartTag[ATTRIBUTE[STRING](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)(dinCertificateInstallationResType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationResType->Id.characters, dinCertificateInstallationResType->Id.charactersLen); - } - } - grammarID = 274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2010: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, dinCertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 275; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &dinCertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - 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)(dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytes, dinCertificateInstallationResType->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 277; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams)] */ - 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)(dinCertificateInstallationResType->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinCertificateInstallationResType->DHParams.bytes, dinCertificateInstallationResType->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 278; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ - 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)(dinCertificateInstallationResType->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinCertificateInstallationResType->ContractID.characters, dinCertificateInstallationResType->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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_dinSignaturePropertyType(bitstream_t* stream, struct dinSignaturePropertyType* dinSignaturePropertyType) { - int grammarID = 279; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 279: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( dinSignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Id.characters, dinSignaturePropertyType->Id.charactersLen); - } - } - grammarID = 280; - } 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)(dinSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 281; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* 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)(dinSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 281; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 282; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 20; - } else if ( dinSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinSignaturePropertyType->ANY.characters, dinSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 282; - } 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:2010:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":MeterID,"urn:iso:15118:2:2010:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2010:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2010:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int encode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* dinMeterInfoType) { - int grammarID = 283; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID)] */ - 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)(dinMeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, dinMeterInfoType->MeterID.characters, dinMeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->MeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &dinMeterInfoType->MeterReading ); - } - grammarID = 285; - } else if ( dinMeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(dinMeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeterInfoType->SigMeterReading.bytes, dinMeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 286; - } else if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_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 = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->SigMeterReading_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)(dinMeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinMeterInfoType->SigMeterReading.bytes, dinMeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 286; - } else if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_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 = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, dinMeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 287; - } else if ( dinMeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( dinMeterInfoType->TMeter_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, dinMeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } 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:2010:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2010:MsgDataTypes":Certificate{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_dinSubCertificatesType(bitstream_t* stream, struct dinSubCertificatesType* dinSubCertificatesType) { - int grammarID = 288; - int done = 0; - - unsigned int dinSubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate)] */ - if (dinSubCertificatesType_Certificate_currArrayIndex < dinSubCertificatesType->Certificate.arrayLen ) { - 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)(dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytes, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen); - dinSubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 289; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), END_ELEMENT] */ - if (dinSubCertificatesType_Certificate_currArrayIndex < dinSubCertificatesType->Certificate.arrayLen ) { - 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)(dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytes, dinSubCertificatesType->Certificate.array[dinSubCertificatesType_Certificate_currArrayIndex].bytesLen); - dinSubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010: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:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 1); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter ); - } - } else if ( exiDoc->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 2); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 3); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 4); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 6); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 7); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &exiDoc->ChargingStatusRes ); - } - } else if ( exiDoc->ContractAuthenticationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &exiDoc->ContractAuthenticationReq ); - } - } else if ( exiDoc->ContractAuthenticationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &exiDoc->ContractAuthenticationRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &exiDoc->CurrentDemandRes ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter ); - } - } else if ( exiDoc->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 20); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter ); - } - } else if ( exiDoc->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 22); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus ); - } - } else if ( exiDoc->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 23); - if(errn == 0) { - errn = encode_dinDC_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); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 27); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &exiDoc->EVChargeParameter ); - } - } else if ( exiDoc->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 28); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter ); - } - } else if ( exiDoc->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter ); - } - } else if ( exiDoc->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 30); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &exiDoc->EVSEStatus ); - } - } else if ( exiDoc->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_dinEVStatusType(stream, &exiDoc->EVStatus ); - } - } else if ( exiDoc->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_dinEntryType(stream, &exiDoc->Entry ); - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 35); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 36); - if(errn == 0) { - errn = encode_dinManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 37); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_dinObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 48); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 49); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 53); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &exiDoc->SAScheduleList ); - } - } else if ( exiDoc->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &exiDoc->SASchedules ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 56); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceCharge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = encodeNBitUnsignedInteger(stream, 7, 57); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiDoc->ServiceCharge ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 58); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->ServicePaymentSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &exiDoc->ServicePaymentSelectionReq ); - } - } else if ( exiDoc->ServicePaymentSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &exiDoc->ServicePaymentSelectionRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_dinSignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &exiDoc->TimeInterval ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_dinTransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 77); - if(errn == 0) { - errn = encode_dinAnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 80); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010: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:2010:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - if ( exiFrag->AC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 0); - if(errn == 0) { - errn = encode_dinAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 1); - if(errn == 0) { - errn = encode_dinAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 2); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 3); - if(errn == 0) { - errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 8, 4); - if(errn == 0) { - errn = encode_dinBodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 8, 5); - if(errn == 0) { - errn = encode_dinBodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 6); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 7); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 8); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 9); - if(errn == 0) { - errn = encode_dinCableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 10); - if(errn == 0) { - errn = encode_dinCableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 11); - if(errn == 0) { - errn = encode_dinCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 12); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 13); - if(errn == 0) { - errn = encode_dinCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 14); - if(errn == 0) { - errn = encode_dinCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 15); - if(errn == 0) { - errn = encode_dinCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 16); - if(errn == 0) { - errn = encode_dinCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 17); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 18); - if(errn == 0) { - errn = encode_dinChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 19); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiFrag->ChargeService ); - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 20); - if(errn == 0) { - /* 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->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 21); - if(errn == 0) { - /* 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->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 8, 22); - if(errn == 0) { - errn = encode_dinChargingProfileType(stream, &exiFrag->ChargingProfile ); - } - } else if ( exiFrag->ChargingProfileEntryMaxPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) */ - errn = encodeNBitUnsignedInteger(stream, 8, 23); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ChargingProfileEntryMaxPower); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingProfileEntryStart_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart) */ - errn = encodeNBitUnsignedInteger(stream, 8, 24); - 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->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 25); - if(errn == 0) { - errn = encode_dinChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 26); - if(errn == 0) { - errn = encode_dinChargingStatusResType(stream, &exiFrag->ChargingStatusRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 27); - if(errn == 0) { - errn = encode_dinConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractAuthenticationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 28); - if(errn == 0) { - errn = encode_dinContractAuthenticationReqType(stream, &exiFrag->ContractAuthenticationReq ); - } - } else if ( exiFrag->ContractAuthenticationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractAuthenticationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 29); - if(errn == 0) { - errn = encode_dinContractAuthenticationResType(stream, &exiFrag->ContractAuthenticationRes ); - } - } else if ( exiFrag->ContractID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 30); - 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->ContractID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ContractID.characters, exiFrag->ContractID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 31); - if(errn == 0) { - errn = encode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 32); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytes, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 33); - if(errn == 0) { - errn = encode_dinCostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 34); - if(errn == 0) { - errn = encode_dinCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 35); - if(errn == 0) { - errn = encode_dinCurrentDemandResType(stream, &exiFrag->CurrentDemandRes ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 36); - if(errn == 0) { - errn = encode_dinDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter ); - } - } else if ( exiFrag->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 37); - if(errn == 0) { - errn = encode_dinDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 38); - if(errn == 0) { - errn = encode_dinDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 39); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 40); - if(errn == 0) { - errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 41); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 42); - if(errn == 0) { - errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DHParams_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ - errn = encodeNBitUnsignedInteger(stream, 8, 43); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DHParams.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DHParams.bytes, exiFrag->DHParams.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 44); - if(errn == 0) { - errn = encode_dinDSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DateTimeNow_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ - errn = encodeNBitUnsignedInteger(stream, 8, 45); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->DateTimeNow); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ - errn = encodeNBitUnsignedInteger(stream, 8, 46); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 47); - if(errn == 0) { - errn = encode_dinDigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 48); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EAmount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EAmount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 49); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EAmount ); - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPriceLevel) */ - errn = encodeNBitUnsignedInteger(stream, 8, 50); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVCCID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 51); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCabinConditioning_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVCabinConditioning) */ - errn = encodeNBitUnsignedInteger(stream, 8, 52); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVCabinConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 53); - if(errn == 0) { - errn = encode_dinEVChargeParameterType(stream, &exiFrag->EVChargeParameter ); - } - } else if ( exiFrag->EVEnergyCapacity_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyCapacity) */ - errn = encodeNBitUnsignedInteger(stream, 8, 54); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVEnergyCapacity ); - } - } else if ( exiFrag->EVEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 55); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVEnergyRequest ); - } - } else if ( exiFrag->EVErrorCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVErrorCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 57); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaxCurrent ); - } - } else if ( exiFrag->EVMaxVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaxVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 58); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaxVoltage ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 59); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 60); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 61); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 62); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 63); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 64); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMinCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 65); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMinCurrent ); - } - } else if ( exiFrag->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 66); - if(errn == 0) { - errn = encode_dinEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter ); - } - } else if ( exiFrag->EVRESSConditioning_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSConditioning) */ - errn = encodeNBitUnsignedInteger(stream, 8, 67); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVRESSConditioning); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVRESSSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVRESSSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 68); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVReady_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVReady) */ - errn = encodeNBitUnsignedInteger(stream, 8, 69); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVRequestedEnergyTransferType_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVRequestedEnergyTransferType) */ - errn = encodeNBitUnsignedInteger(stream, 8, 70); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EVRequestedEnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 71); - if(errn == 0) { - errn = encode_dinEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter ); - } - } else if ( exiFrag->EVSECurrentLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSECurrentLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 72); - 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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 8, 73); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 8, 74); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 75); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVSEID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVSEID.bytes, exiFrag->EVSEID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 76); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 77); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 78); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 79); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxVoltage ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 80); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 81); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 82); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 83); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 84); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 85); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMinCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 86); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinCurrent ); - } - } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 87); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit ); - } - } else if ( exiFrag->EVSEMinimumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 88); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 89); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 90); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple ); - } - } else if ( exiFrag->EVSEPowerLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPowerLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 91); - 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); - } - } - } else if ( exiFrag->EVSEPresentCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 92); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 93); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 8, 94); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 95); - if(errn == 0) { - errn = encode_dinEVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSEStatusCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatusCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 96); - 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); - } - } - } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltageLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 97); - 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:2010:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 98); - if(errn == 0) { - errn = encode_dinEVStatusType(stream, &exiFrag->EVStatus ); - } - } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 99); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 100); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EnergyTransferType_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ - errn = encodeNBitUnsignedInteger(stream, 8, 101); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EnergyTransferType); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 102); - if(errn == 0) { - errn = encode_dinEntryType(stream, &exiFrag->Entry ); - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 103); - 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:2010:MsgDataTypes}FaultCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FaultCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FaultMsg_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg) */ - errn = encodeNBitUnsignedInteger(stream, 8, 105); - 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); - } - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 106); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FullSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FullSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 107); - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 8, 108); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 109); - 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->GenChallenge.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->GenChallenge.characters, exiFrag->GenChallenge.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 8, 110); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 8, 111); - if(errn == 0) { - errn = encode_dinMessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->J_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - errn = encodeNBitUnsignedInteger(stream, 8, 112); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 113); - if(errn == 0) { - errn = encode_dinKeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 114); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 115); - if(errn == 0) { - errn = encode_dinKeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 8, 116); - if(errn == 0) { - errn = encode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 117); - if(errn == 0) { - errn = encode_dinManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MeterID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 118); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 119); - if(errn == 0) { - errn = encode_dinMeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 120); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->MeterReading ); - } - } else if ( exiFrag->MeterStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 121); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 122); - if(errn == 0) { - errn = encode_dinMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 123); - if(errn == 0) { - errn = encode_dinMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 124); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 125); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Multiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 126); - 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:2010:MsgHeader}Notification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 127); - if(errn == 0) { - errn = encode_dinNotificationType(stream, &exiFrag->Notification ); - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 8, 128); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 8, 129); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 8, 130); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 8, 131); - if(errn == 0) { - errn = encode_dinObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 8, 132); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 133); - if(errn == 0) { - errn = encode_dinPGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 134); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 8, 135); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 8, 136); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->PMax); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 8, 137); - if(errn == 0) { - errn = encode_dinPMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 138); - if(errn == 0) { - errn = encode_dinPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->PMaxScheduleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMaxScheduleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 139); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->PMaxScheduleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 140); - if(errn == 0) { - errn = encode_dinParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 8, 141); - if(errn == 0) { - errn = encode_dinParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 142); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 143); - if(errn == 0) { - errn = encode_dinPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 144); - if(errn == 0) { - errn = encode_dinPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 145); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptions_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentOptions) */ - errn = encodeNBitUnsignedInteger(stream, 8, 146); - if(errn == 0) { - errn = encode_dinPaymentOptionsType(stream, &exiFrag->PaymentOptions ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 147); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 148); - if(errn == 0) { - errn = encode_dinPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 149); - if(errn == 0) { - errn = encode_dinPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PowerSwitchClosed_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 150); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->PowerSwitchClosed); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 151); - if(errn == 0) { - errn = encode_dinPreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 152); - if(errn == 0) { - errn = encode_dinPreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 153); - if(errn == 0) { - errn = encode_dinProfileEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 8, 154); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RCD_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD) */ - errn = encodeNBitUnsignedInteger(stream, 8, 155); - 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, 156); - if(errn == 0) { - errn = encode_dinRSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReadyToChargeState_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReadyToChargeState) */ - errn = encodeNBitUnsignedInteger(stream, 8, 157); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReadyToChargeState); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 8, 158); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 8, 159); - if(errn == 0) { - errn = encode_dinReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 160); - if(errn == 0) { - errn = encode_dinRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval ); - } - } else if ( exiFrag->RemainingTimeToBulkSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToBulkSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 161); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC ); - } - } else if ( exiFrag->RemainingTimeToFullSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RemainingTimeToFullSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 162); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC ); - } - } else if ( exiFrag->ResponseCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 163); - 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, 164); - if(errn == 0) { - errn = encode_dinRetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 165); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 166); - 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->RootCertificateID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->RootCertificateID.characters, exiFrag->RootCertificateID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 167); - if(errn == 0) { - errn = encode_dinSAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 168); - if(errn == 0) { - errn = encode_dinSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 169); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 170); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 8, 171); - if(errn == 0) { - errn = encode_dinSASchedulesType(stream, &exiFrag->SASchedules ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 172); - if(errn == 0) { - errn = encode_dinSPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 173); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 8, 174); - if(errn == 0) { - errn = encode_dinSalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 8, 175); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 176); - if(errn == 0) { - errn = encode_dinSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 177); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->SalesTariffID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 178); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 179); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 180); - if(errn == 0) { - errn = encode_dinSelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SelectedServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 181); - if(errn == 0) { - errn = encode_dinSelectedServiceListType(stream, &exiFrag->SelectedServiceList ); - } - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 8, 182); - if(errn == 0) { - errn = encode_dinServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 183); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 184); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCharge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 185); - if(errn == 0) { - errn = encode_dinServiceChargeType(stream, &exiFrag->ServiceCharge ); - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 186); - if(errn == 0) { - errn = encode_dinServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 187); - if(errn == 0) { - errn = encode_dinServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 188); - if(errn == 0) { - errn = encode_dinServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 189); - if(errn == 0) { - errn = encode_dinServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 190); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 191); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 192); - if(errn == 0) { - errn = encode_dinServiceTagListType(stream, &exiFrag->ServiceList ); - } - } else if ( exiFrag->ServiceName_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 193); - 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:2010:MsgBody}ServiceParameterList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 194); - if(errn == 0) { - errn = encode_dinServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->ServicePaymentSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 195); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionReqType(stream, &exiFrag->ServicePaymentSelectionReq ); - } - } else if ( exiFrag->ServicePaymentSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 196); - if(errn == 0) { - errn = encode_dinServicePaymentSelectionResType(stream, &exiFrag->ServicePaymentSelectionRes ); - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 197); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 198); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceTag_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ - errn = encodeNBitUnsignedInteger(stream, 8, 199); - if(errn == 0) { - errn = encode_dinServiceTagType(stream, &exiFrag->ServiceTag ); - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 200); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 201); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 202); - if(errn == 0) { - errn = encode_dinSessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 203); - if(errn == 0) { - errn = encode_dinSessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 204); - if(errn == 0) { - errn = encode_dinSessionStopType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 205); - if(errn == 0) { - errn = encode_dinSessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 206); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 8, 207); - if(errn == 0) { - errn = encode_dinSignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 208); - if(errn == 0) { - errn = encode_dinSignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 8, 209); - if(errn == 0) { - errn = encode_dinSignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 8, 210); - if(errn == 0) { - errn = encode_dinSignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 211); - if(errn == 0) { - errn = encode_dinSignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 212); - if(errn == 0) { - errn = encode_dinSignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 8, 213); - if(errn == 0) { - errn = encode_dinSubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 214); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 215); - if(errn == 0) { - errn = encode_dinIntervalType(stream, &exiFrag->TimeInterval ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 8, 216); - if(errn == 0) { - errn = encode_dinTransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 8, 217); - if(errn == 0) { - errn = encode_dinTransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->Unit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 218); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 8, 219); - if(errn == 0) { - errn = encode_dinAnonType_V2G_Message(stream, &exiFrag->V2G_Message ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 8, 220); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 221); - if(errn == 0) { - errn = encode_dinWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 222); - if(errn == 0) { - errn = encode_dinWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 8, 223); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 224); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 8, 225); - if(errn == 0) { - errn = encode_dinX509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 226); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 8, 227); - if(errn == 0) { - errn = encode_dinX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 8, 228); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 8, 229); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 230); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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, 231); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 8, 232); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->amount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 233); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->amountMultiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}amountMultiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 234); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 235); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 236); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 8, 237); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 8, 238); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 239); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 240); - if(errn == 0) { - errn = encode_dinPhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 241); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 8, 242); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 243); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->startValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 244); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 8, 246); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#endif - diff --git a/src/din/dinEXIDatatypesEncoder.h b/src/din/dinEXIDatatypesEncoder.h deleted file mode 100644 index 5e4c86e..0000000 --- a/src/din/dinEXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_din_DATATYPES_ENCODER_H -#define EXI_din_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "dinEXIDatatypes.h" - -#if DEPLOY_DIN_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); - -#if DEPLOY_DIN_CODEC_FRAGMENT == SUPPORT_YES -int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag); -#endif /* DEPLOY_DIN_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_DIN_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso1/iso1EXIDatatypes.c b/src/iso1/iso1EXIDatatypes.c deleted file mode 100644 index 3a2ea6e..0000000 --- a/src/iso1/iso1EXIDatatypes.c +++ /dev/null @@ -1,992 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "iso1EXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_iso1_DATATYPES_C -#define EXI_iso1_DATATYPES_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - - -void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc) { - exiDoc->V2G_Message_isUsed = 0u; - exiDoc->ServiceDiscoveryReq_isUsed = 0u; - exiDoc->ServiceDiscoveryRes_isUsed = 0u; - exiDoc->MeteringReceiptReq_isUsed = 0u; - exiDoc->PaymentDetailsReq_isUsed = 0u; - exiDoc->MeteringReceiptRes_isUsed = 0u; - exiDoc->PaymentDetailsRes_isUsed = 0u; - exiDoc->SessionSetupReq_isUsed = 0u; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - exiDoc->CableCheckRes_isUsed = 0u; - exiDoc->CertificateInstallationReq_isUsed = 0u; - exiDoc->CertificateInstallationRes_isUsed = 0u; - exiDoc->WeldingDetectionReq_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PaymentServiceSelectionReq_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PaymentServiceSelectionRes_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->BodyElement_isUsed = 0u; - exiDoc->CurrentDemandReq_isUsed = 0u; - exiDoc->PreChargeReq_isUsed = 0u; - exiDoc->CurrentDemandRes_isUsed = 0u; - exiDoc->PreChargeRes_isUsed = 0u; - exiDoc->SessionStopReq_isUsed = 0u; - exiDoc->AuthorizationReq_isUsed = 0u; - exiDoc->SessionStopRes_isUsed = 0u; - exiDoc->AuthorizationRes_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u; - exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u; - exiDoc->ServiceDetailReq_isUsed = 0u; - exiDoc->ServiceDetailRes_isUsed = 0u; - exiDoc->DC_EVSEStatus_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_isUsed = 0u; - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->SASchedules_isUsed = 0u; - exiDoc->AC_EVChargeParameter_isUsed = 0u; - exiDoc->SAScheduleList_isUsed = 0u; - exiDoc->DC_EVStatus_isUsed = 0u; - exiDoc->EVStatus_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->AC_EVSEChargeParameter_isUsed = 0u; - exiDoc->PMaxScheduleEntry_isUsed = 0u; - exiDoc->EVChargeParameter_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag) { - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->EVMaxVoltage_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->EVRESSSOC_isUsed = 0u; - exiFrag->MeterReading_isUsed = 0u; - exiFrag->physicalValue_isUsed = 0u; - exiFrag->TimeInterval_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaxCurrent_isUsed = 0u; - exiFrag->ChargingProfileEntryStart_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->costKind_isUsed = 0u; - exiFrag->EAmount_isUsed = 0u; - exiFrag->EnergyTransferMode_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->NumEPriceLevels_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->PMax_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->BulkSOC_isUsed = 0u; - exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u; - exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; - exiFrag->SalesTariffEntry_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEIsolationStatus_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->FaultCode_isUsed = 0u; - exiFrag->RootCertificateID_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->byteValue_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->SAScheduleList_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->RetryCounter_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->SalesTariff_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->V2G_Message_isUsed = 0u; - exiFrag->EVSEMinimumVoltageLimit_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->ProfileEntry_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->start_isUsed = 0u; - exiFrag->EVErrorCode_isUsed = 0u; - exiFrag->EVChargeParameter_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->EVSEPresentCurrent_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->EVMinCurrent_isUsed = 0u; - exiFrag->FullSOC_isUsed = 0u; - exiFrag->amount_isUsed = 0u; - exiFrag->DC_EVSEChargeParameter_isUsed = 0u; - exiFrag->Entry_isUsed = 0u; - exiFrag->SessionStopRes_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->shortValue_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->PowerDeliveryReq_isUsed = 0u; - exiFrag->PowerDeliveryRes_isUsed = 0u; - exiFrag->SessionStopReq_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->Header_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->FreeService_isUsed = 0u; - exiFrag->EVSENominalVoltage_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->MeteringReceiptRes_isUsed = 0u; - exiFrag->ServiceDiscoveryReq_isUsed = 0u; - exiFrag->MeteringReceiptReq_isUsed = 0u; - exiFrag->PreChargeRes_isUsed = 0u; - exiFrag->OEMProvisioningCert_isUsed = 0u; - exiFrag->EVEnergyCapacity_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->AC_EVSEChargeParameter_isUsed = 0u; - exiFrag->ServiceDiscoveryRes_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->PreChargeReq_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->CableCheckReq_isUsed = 0u; - exiFrag->SalesTariffDescription_isUsed = 0u; - exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; - exiFrag->boolValue_isUsed = 0u; - exiFrag->EVCCID_isUsed = 0u; - exiFrag->DC_EVChargeParameter_isUsed = 0u; - exiFrag->ChargingStatusReq_isUsed = 0u; - exiFrag->CableCheckRes_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->EVSEStatus_isUsed = 0u; - exiFrag->Service_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->intValue_isUsed = 0u; - exiFrag->ChargingProfile_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ServiceName_isUsed = 0u; - exiFrag->MeterStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->ChargingStatusRes_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->Notification_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->DigestValue_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->Cost_isUsed = 0u; - exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; - exiFrag->ConsumptionCost_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->SessionSetupRes_isUsed = 0u; - exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; - exiFrag->ServiceDetailReq_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->ServiceDetailRes_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->EPriceLevel_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->RemainingTimeToBulkSoC_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->stringValue_isUsed = 0u; - exiFrag->SessionSetupReq_isUsed = 0u; - exiFrag->Multiplier_isUsed = 0u; - exiFrag->CertificateUpdateRes_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->CertificateUpdateReq_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->CertificateInstallationReq_isUsed = 0u; - exiFrag->CertificateInstallationRes_isUsed = 0u; - exiFrag->EVStatus_isUsed = 0u; - exiFrag->SupportedEnergyTransferMode_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->MaxEntriesSAScheduleTuple_isUsed = 0u; - exiFrag->PaymentOption_isUsed = 0u; - exiFrag->SubCertificates_isUsed = 0u; - exiFrag->PaymentDetailsReq_isUsed = 0u; - exiFrag->AuthorizationReq_isUsed = 0u; - exiFrag->PaymentDetailsRes_isUsed = 0u; - exiFrag->AuthorizationRes_isUsed = 0u; - exiFrag->EVSEStatusCode_isUsed = 0u; - exiFrag->PaymentOptionList_isUsed = 0u; - exiFrag->SelectedServiceList_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->WeldingDetectionReq_isUsed = 0u; - exiFrag->FaultMsg_isUsed = 0u; - exiFrag->WeldingDetectionRes_isUsed = 0u; - exiFrag->ChargeProgress_isUsed = 0u; - exiFrag->SelectedPaymentOption_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->ParameterSet_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->EVSEChargeParameter_isUsed = 0u; - exiFrag->SigMeterReading_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->SASchedules_isUsed = 0u; - exiFrag->SalesTariffID_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->ServiceParameterList_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->MeterID_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->ChargeService_isUsed = 0u; - exiFrag->amountMultiplier_isUsed = 0u; - exiFrag->RCD_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->startValue_isUsed = 0u; - exiFrag->CurrentDemandReq_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->Body_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->Value_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->AC_EVChargeParameter_isUsed = 0u; - exiFrag->PMaxScheduleEntry_isUsed = 0u; - exiFrag->Parameter_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->SelectedService_isUsed = 0u; - exiFrag->PaymentServiceSelectionReq_isUsed = 0u; - exiFrag->PaymentServiceSelectionRes_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->CurrentDemandRes_isUsed = 0u; - exiFrag->EVReady_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->PMaxSchedule_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->Unit_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; - exiFrag->EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; - exiFrag->duration_isUsed = 0u; - exiFrag->TMeter_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->ServiceList_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->SAScheduleTuple_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->BodyElement_isUsed = 0u; - exiFrag->RemainingTimeToFullSoC_isUsed = 0u; - exiFrag->RelativeTimeInterval_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->DepartureTime_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->EVEnergyRequest_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->ChargingSession_isUsed = 0u; - exiFrag->RequestedEnergyTransferMode_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; -} -void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag) { - exiFrag->Id_isUsed = 0u; - exiFrag->CHARACTERS_GENERIC_isUsed = 0u; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - -void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType) { - iso1MessageHeaderType->Notification_isUsed = 0u; - iso1MessageHeaderType->Signature_isUsed = 0u; -} - -void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType) { - iso1SignatureType->Id_isUsed = 0u; - iso1SignatureType->KeyInfo_isUsed = 0u; - iso1SignatureType->Object.arrayLen = 0u; -} - -void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - iso1PowerDeliveryReqType->ChargingProfile_isUsed = 0u; - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u; - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u; -} - -void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType) { - iso1ParameterType->boolValue_isUsed = 0u; - iso1ParameterType->byteValue_isUsed = 0u; - iso1ParameterType->shortValue_isUsed = 0u; - iso1ParameterType->intValue_isUsed = 0u; - iso1ParameterType->physicalValue_isUsed = 0u; - iso1ParameterType->stringValue_isUsed = 0u; -} - -void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - (void)iso1CertificateInstallationReqType; /* avoid unused warning */ -} - -void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType) { - iso1SessionSetupResType->EVSETimeStamp_isUsed = 0u; -} - -void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - iso1EVChargeParameterType->DepartureTime_isUsed = 0u; -} - -void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - (void)iso1DiffieHellmanPublickeyType; /* avoid unused warning */ -} - -void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - iso1ServiceDiscoveryResType->ServiceList_isUsed = 0u; -} - -void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - iso1ServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType) { - iso1CertificateChainType->Id_isUsed = 0u; - iso1CertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType) { - (void)iso1SASchedulesType; /* avoid unused warning */ -} - -void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - iso1DC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; -} - -void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType) { - (void)iso1PreChargeResType; /* avoid unused warning */ -} - -void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType) { - iso1ParameterSetType->Parameter.arrayLen = 0u; -} - -void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - (void)iso1ServiceDetailReqType; /* avoid unused warning */ -} - -void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - iso1RelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType) { - iso1SignedInfoType->Id_isUsed = 0u; - iso1SignedInfoType->Reference.arrayLen = 0u; -} - -void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType) { - (void)iso1EMAIDType; /* avoid unused warning */ -} - -void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType) { - (void)iso1EVStatusType; /* avoid unused warning */ -} - -void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType) { - iso1ServiceListType->Service.arrayLen = 0u; -} - -void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - (void)iso1EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - (void)iso1EVPowerDeliveryParameterType; /* avoid unused warning */ -} - -void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType) { - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; -} - -void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - iso1AuthorizationReqType->Id_isUsed = 0u; - iso1AuthorizationReqType->GenChallenge_isUsed = 0u; -} - -void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType) { - iso1MeterInfoType->MeterReading_isUsed = 0u; - iso1MeterInfoType->SigMeterReading_isUsed = 0u; - iso1MeterInfoType->MeterStatus_isUsed = 0u; - iso1MeterInfoType->TMeter_isUsed = 0u; -} - -void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType) { - iso1ManifestType->Id_isUsed = 0u; - iso1ManifestType->Reference.arrayLen = 0u; -} - -void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - iso1ChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; -} - -void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - iso1PowerDeliveryResType->EVSEStatus_isUsed = 0u; - iso1PowerDeliveryResType->AC_EVSEStatus_isUsed = 0u; - iso1PowerDeliveryResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - iso1DC_EVChargeParameterType->DepartureTime_isUsed = 0u; - iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u; - iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u; - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u; - iso1DC_EVChargeParameterType->FullSOC_isUsed = 0u; - iso1DC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - iso1ConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - iso1PaymentOptionListType->PaymentOption.arrayLen = 0u; -} - -void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType) { - iso1ObjectType->Id_isUsed = 0u; - iso1ObjectType->MimeType_isUsed = 0u; - iso1ObjectType->Encoding_isUsed = 0u; - iso1ObjectType->ANY_isUsed = 0u; -} - -void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType) { - (void)iso1PhysicalValueType; /* avoid unused warning */ -} - -void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - (void)iso1RSAKeyValueType; /* avoid unused warning */ -} - -void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType) { - (void)iso1SessionStopResType; /* avoid unused warning */ -} - -void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - (void)iso1CertificateUpdateReqType; /* avoid unused warning */ -} - -void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType) { - iso1SignatureValueType->Id_isUsed = 0u; -} - -void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - (void)iso1PaymentDetailsReqType; /* avoid unused warning */ -} - -void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType) { - (void)iso1AuthorizationResType; /* avoid unused warning */ -} - -void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType) { - iso1SubCertificatesType->Certificate.arrayLen = 0u; -} - -void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - iso1ChargingStatusResType->EVSEMaxCurrent_isUsed = 0u; - iso1ChargingStatusResType->MeterInfo_isUsed = 0u; - iso1ChargingStatusResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - iso1DSAKeyValueType->P_isUsed = 0u; - iso1DSAKeyValueType->Q_isUsed = 0u; - iso1DSAKeyValueType->G_isUsed = 0u; - iso1DSAKeyValueType->J_isUsed = 0u; - iso1DSAKeyValueType->Seed_isUsed = 0u; - iso1DSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType) { - iso1ChargeServiceType->ServiceName_isUsed = 0u; - iso1ChargeServiceType->ServiceScope_isUsed = 0u; -} - -void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType) { - (void)iso1IntervalType; /* avoid unused warning */ -} - -void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - iso1MeteringReceiptReqType->Id_isUsed = 0u; - iso1MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - iso1ServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType) { - iso1KeyValueType->DSAKeyValue_isUsed = 0u; - iso1KeyValueType->RSAKeyValue_isUsed = 0u; - iso1KeyValueType->ANY_isUsed = 0u; -} - -void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - iso1SelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType) { - (void)iso1CableCheckResType; /* avoid unused warning */ -} - -void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - (void)iso1X509IssuerSerialType; /* avoid unused warning */ -} - -void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType) { - iso1KeyInfoType->Id_isUsed = 0u; - iso1KeyInfoType->KeyName.arrayLen = 0u; - iso1KeyInfoType->KeyValue.arrayLen = 0u; - iso1KeyInfoType->RetrievalMethod.arrayLen = 0u; - iso1KeyInfoType->X509Data.arrayLen = 0u; - iso1KeyInfoType->PGPData.arrayLen = 0u; - iso1KeyInfoType->SPKIData.arrayLen = 0u; - iso1KeyInfoType->MgmtData.arrayLen = 0u; - iso1KeyInfoType->ANY_isUsed = 0u; -} - -void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType) { - iso1TransformsType->Transform.arrayLen = 0u; -} - -void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; -} - -void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType) { - (void)iso1PreChargeReqType; /* avoid unused warning */ -} - -void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType) { - (void)iso1EVSEStatusType; /* avoid unused warning */ -} - -void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType) { - iso1SignatureMethodType->HMACOutputLength_isUsed = 0u; - iso1SignatureMethodType->ANY_isUsed = 0u; -} - -void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType) { - iso1X509DataType->X509IssuerSerial.arrayLen = 0u; - iso1X509DataType->X509SKI.arrayLen = 0u; - iso1X509DataType->X509SubjectName.arrayLen = 0u; - iso1X509DataType->X509Certificate.arrayLen = 0u; - iso1X509DataType->X509CRL.arrayLen = 0u; - iso1X509DataType->ANY_isUsed = 0u; -} - -void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType) { - iso1NotificationType->FaultMsg_isUsed = 0u; -} - -void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType) { - iso1SAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_iso1BodyType(struct iso1BodyType* iso1BodyType) { - iso1BodyType->BodyElement_isUsed = 0u; - iso1BodyType->SessionSetupReq_isUsed = 0u; - iso1BodyType->SessionSetupRes_isUsed = 0u; - iso1BodyType->ServiceDiscoveryReq_isUsed = 0u; - iso1BodyType->ServiceDiscoveryRes_isUsed = 0u; - iso1BodyType->ServiceDetailReq_isUsed = 0u; - iso1BodyType->ServiceDetailRes_isUsed = 0u; - iso1BodyType->PaymentServiceSelectionReq_isUsed = 0u; - iso1BodyType->PaymentServiceSelectionRes_isUsed = 0u; - iso1BodyType->PaymentDetailsReq_isUsed = 0u; - iso1BodyType->PaymentDetailsRes_isUsed = 0u; - iso1BodyType->AuthorizationReq_isUsed = 0u; - iso1BodyType->AuthorizationRes_isUsed = 0u; - iso1BodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - iso1BodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - iso1BodyType->PowerDeliveryReq_isUsed = 0u; - iso1BodyType->PowerDeliveryRes_isUsed = 0u; - iso1BodyType->MeteringReceiptReq_isUsed = 0u; - iso1BodyType->MeteringReceiptRes_isUsed = 0u; - iso1BodyType->SessionStopReq_isUsed = 0u; - iso1BodyType->SessionStopRes_isUsed = 0u; - iso1BodyType->CertificateUpdateReq_isUsed = 0u; - iso1BodyType->CertificateUpdateRes_isUsed = 0u; - iso1BodyType->CertificateInstallationReq_isUsed = 0u; - iso1BodyType->CertificateInstallationRes_isUsed = 0u; - iso1BodyType->ChargingStatusReq_isUsed = 0u; - iso1BodyType->ChargingStatusRes_isUsed = 0u; - iso1BodyType->CableCheckReq_isUsed = 0u; - iso1BodyType->CableCheckRes_isUsed = 0u; - iso1BodyType->PreChargeReq_isUsed = 0u; - iso1BodyType->PreChargeRes_isUsed = 0u; - iso1BodyType->CurrentDemandReq_isUsed = 0u; - iso1BodyType->CurrentDemandRes_isUsed = 0u; - iso1BodyType->WeldingDetectionReq_isUsed = 0u; - iso1BodyType->WeldingDetectionRes_isUsed = 0u; -} - -void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType) { - iso1ChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_iso1TransformType(struct iso1TransformType* iso1TransformType) { - iso1TransformType->ANY_isUsed = 0u; - iso1TransformType->XPath.arrayLen = 0u; -} - -void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - iso1SAScheduleTupleType->SalesTariff_isUsed = 0u; -} - -void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - iso1AC_EVChargeParameterType->DepartureTime_isUsed = 0u; -} - -void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - (void)iso1AnonType_V2G_Message; /* avoid unused warning */ -} - -void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - (void)iso1PaymentDetailsResType; /* avoid unused warning */ -} - -void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - (void)iso1ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */ -} - -void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - iso1PMaxScheduleEntryType->TimeInterval_isUsed = 0u; - iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType) { - iso1SPKIDataType->SPKISexp.arrayLen = 0u; - iso1SPKIDataType->ANY_isUsed = 0u; -} - -void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - iso1MeteringReceiptResType->EVSEStatus_isUsed = 0u; - iso1MeteringReceiptResType->AC_EVSEStatus_isUsed = 0u; - iso1MeteringReceiptResType->DC_EVSEStatus_isUsed = 0u; -} - -void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType) { - (void)iso1SessionStopReqType; /* avoid unused warning */ -} - -void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - (void)iso1WeldingDetectionResType; /* avoid unused warning */ -} - -void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType) { - iso1ReferenceType->Id_isUsed = 0u; - iso1ReferenceType->URI_isUsed = 0u; - iso1ReferenceType->Type_isUsed = 0u; - iso1ReferenceType->Transforms_isUsed = 0u; -} - -void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u; - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u; - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u; - iso1CurrentDemandReqType->BulkChargingComplete_isUsed = 0u; - iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u; - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u; -} - -void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - iso1SalesTariffEntryType->TimeInterval_isUsed = 0u; - iso1SalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; - iso1SalesTariffEntryType->EPriceLevel_isUsed = 0u; - iso1SalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_iso1EntryType(struct iso1EntryType* iso1EntryType) { - iso1EntryType->TimeInterval_isUsed = 0u; - iso1EntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - (void)iso1SessionSetupReqType; /* avoid unused warning */ -} - -void init_iso1CostType(struct iso1CostType* iso1CostType) { - iso1CostType->amountMultiplier_isUsed = 0u; -} - -void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; -} - -void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - iso1RetrievalMethodType->URI_isUsed = 0u; - iso1RetrievalMethodType->Type_isUsed = 0u; - iso1RetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - iso1CertificateUpdateResType->RetryCounter_isUsed = 0u; -} - -void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - (void)iso1CertificateInstallationResType; /* avoid unused warning */ -} - -void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - iso1CanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - (void)iso1WeldingDetectionReqType; /* avoid unused warning */ -} - -void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - (void)iso1DC_EVStatusType; /* avoid unused warning */ -} - -void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u; - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u; - iso1CurrentDemandResType->MeterInfo_isUsed = 0u; - iso1CurrentDemandResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType) { - iso1ServiceType->ServiceName_isUsed = 0u; - iso1ServiceType->ServiceScope_isUsed = 0u; -} - -void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - iso1ServiceDiscoveryReqType->ServiceScope_isUsed = 0u; - iso1ServiceDiscoveryReqType->ServiceCategory_isUsed = 0u; -} - -void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - (void)iso1AC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType) { - (void)iso1CableCheckReqType; /* avoid unused warning */ -} - -void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType) { - iso1SelectedServiceType->ParameterSetID_isUsed = 0u; -} - -void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - (void)iso1AC_EVSEStatusType; /* avoid unused warning */ -} - -void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType) { - iso1SalesTariffType->Id_isUsed = 0u; - iso1SalesTariffType->SalesTariffDescription_isUsed = 0u; - iso1SalesTariffType->NumEPriceLevels_isUsed = 0u; - iso1SalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - (void)iso1PaymentServiceSelectionReqType; /* avoid unused warning */ -} - -void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - iso1SignaturePropertiesType->Id_isUsed = 0u; - iso1SignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType) { - (void)iso1BodyBaseType; /* avoid unused warning */ -} - -void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u; -} - -void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - (void)iso1ChargingStatusReqType; /* avoid unused warning */ -} - -void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - (void)iso1PaymentServiceSelectionResType; /* avoid unused warning */ -} - -void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType) { - iso1DigestMethodType->ANY_isUsed = 0u; -} - -void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - iso1SignaturePropertyType->Id_isUsed = 0u; - iso1SignaturePropertyType->ANY_isUsed = 0u; -} - -void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType) { - iso1PGPDataType->PGPKeyID_isUsed = 0u; - iso1PGPDataType->PGPKeyPacket_isUsed = 0u; - iso1PGPDataType->ANY_isUsed = 0u; -} - - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/src/iso1/iso1EXIDatatypes.h b/src/iso1/iso1EXIDatatypes.h deleted file mode 100644 index 94b9142..0000000 --- a/src/iso1/iso1EXIDatatypes.h +++ /dev/null @@ -1,2992 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_iso1_DATATYPES_H -#define EXI_iso1_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_ISO1_CODEC SUPPORT_YES -#define DEPLOY_ISO1_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define iso1X509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define iso1X509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define iso1X509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define iso1X509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define iso1TransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define iso1SPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID from unbounded to 5 (see #define iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define iso1TransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso1SignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso1ManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define iso1KeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define iso1KeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define iso1KeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define iso1KeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define iso1KeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define iso1KeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define iso1SignatureType_Object_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2013:MsgDataTypes":ParameterSet from unbounded to 5 (see #define iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) */ - - -/* 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 iso1EVChargeParameterType { - /* 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,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 -struct iso1DiffieHellmanPublickeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,dHpublickeyType */ - struct { - uint8_t bytes[iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso1SASchedulesType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso1DC_EVErrorCodeType_NO_ERROR = 0, - iso1DC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1, - iso1DC_EVErrorCodeType_FAILED_EVShiftPosition = 2, - iso1DC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3, - iso1DC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4, - iso1DC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5, - iso1DC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6, - iso1DC_EVErrorCodeType_Reserved_A = 7, - iso1DC_EVErrorCodeType_Reserved_B = 8, - iso1DC_EVErrorCodeType_Reserved_C = 9, - iso1DC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10, - iso1DC_EVErrorCodeType_NoData = 11 -} iso1DC_EVErrorCodeType; - -typedef enum { - iso1EVSENotificationType_None = 0, - iso1EVSENotificationType_StopCharging = 1, - iso1EVSENotificationType_ReNegotiation = 2 -} iso1EVSENotificationType; - -typedef enum { - iso1responseCodeType_OK = 0, - iso1responseCodeType_OK_NewSessionEstablished = 1, - iso1responseCodeType_OK_OldSessionJoined = 2, - iso1responseCodeType_OK_CertificateExpiresSoon = 3, - iso1responseCodeType_FAILED = 4, - iso1responseCodeType_FAILED_SequenceError = 5, - iso1responseCodeType_FAILED_ServiceIDInvalid = 6, - iso1responseCodeType_FAILED_UnknownSession = 7, - iso1responseCodeType_FAILED_ServiceSelectionInvalid = 8, - iso1responseCodeType_FAILED_PaymentSelectionInvalid = 9, - iso1responseCodeType_FAILED_CertificateExpired = 10, - iso1responseCodeType_FAILED_SignatureError = 11, - iso1responseCodeType_FAILED_NoCertificateAvailable = 12, - iso1responseCodeType_FAILED_CertChainError = 13, - iso1responseCodeType_FAILED_ChallengeInvalid = 14, - iso1responseCodeType_FAILED_ContractCanceled = 15, - iso1responseCodeType_FAILED_WrongChargeParameter = 16, - iso1responseCodeType_FAILED_PowerDeliveryNotApplied = 17, - iso1responseCodeType_FAILED_TariffSelectionInvalid = 18, - iso1responseCodeType_FAILED_ChargingProfileInvalid = 19, - iso1responseCodeType_FAILED_MeteringSignatureNotValid = 20, - iso1responseCodeType_FAILED_NoChargeServiceSelected = 21, - iso1responseCodeType_FAILED_WrongEnergyTransferMode = 22, - iso1responseCodeType_FAILED_ContactorError = 23, - iso1responseCodeType_FAILED_CertificateNotAllowedAtThisEVSE = 24, - iso1responseCodeType_FAILED_CertificateRevoked = 25 -} iso1responseCodeType; - -/* 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 iso1ServiceDetailReqType { - /* 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,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 iso1RelativeTimeIntervalType { - /* 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,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso1EMAIDType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EMAIDType_CONTENT_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1EMAIDType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1EMAIDType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1EMAIDType_CONTENT_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CONTENT ; -}; - -/* 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 iso1EVStatusType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1EVSEChargeParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1EVPowerDeliveryParameterType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1AuthorizationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1AuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct iso1AuthorizationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1AuthorizationReqType_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[iso1AuthorizationReqType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - unsigned int GenChallenge_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 iso1MeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define iso1MeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -struct iso1MeterInfoType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterID, urn:iso:15118:2:2013:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[iso1MeterInfoType_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[iso1MeterInfoType_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='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 iso1ObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1ObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ObjectType_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[iso1ObjectType_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[iso1ObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso1ObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso1RSAKeyValueType_Modulus_BYTES_SIZE 350 -#define iso1RSAKeyValueType_Exponent_BYTES_SIZE 350 -struct iso1RSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1RSAKeyValueType_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[iso1RSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 iso1SessionStopResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; -}; - -/* 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 iso1SignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignatureValueType_CONTENT_BYTES_SIZE 350 -struct iso1SignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignatureValueType_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[iso1SignatureValueType_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 iso1SubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1SubCertificatesType_Certificate_ARRAY_SIZE 4 -struct iso1SubCertificatesType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[iso1SubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1SubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -typedef enum { - iso1faultCodeType_ParsingError = 0, - iso1faultCodeType_NoTLSRootCertificatAvailable = 1, - iso1faultCodeType_UnknownError = 2 -} iso1faultCodeType; - -typedef enum { - iso1DC_EVSEStatusCodeType_EVSE_NotReady = 0, - iso1DC_EVSEStatusCodeType_EVSE_Ready = 1, - iso1DC_EVSEStatusCodeType_EVSE_Shutdown = 2, - iso1DC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3, - iso1DC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4, - iso1DC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5, - iso1DC_EVSEStatusCodeType_EVSE_Malfunction = 6, - iso1DC_EVSEStatusCodeType_Reserved_8 = 7, - iso1DC_EVSEStatusCodeType_Reserved_9 = 8, - iso1DC_EVSEStatusCodeType_Reserved_A = 9, - iso1DC_EVSEStatusCodeType_Reserved_B = 10, - iso1DC_EVSEStatusCodeType_Reserved_C = 11 -} iso1DC_EVSEStatusCodeType; - -/* 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'. */ -#define iso1DSAKeyValueType_P_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Q_BYTES_SIZE 350 -#define iso1DSAKeyValueType_G_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Y_BYTES_SIZE 350 -#define iso1DSAKeyValueType_J_BYTES_SIZE 350 -#define iso1DSAKeyValueType_Seed_BYTES_SIZE 350 -#define iso1DSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct iso1DSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso1DSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -typedef enum { - iso1EVSEProcessingType_Finished = 0, - iso1EVSEProcessingType_Ongoing = 1, - iso1EVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 -} iso1EVSEProcessingType; - -/* 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 iso1IntervalType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1MeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -struct iso1MeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1MeteringReceiptReqType_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 */ - struct { - uint8_t bytes[iso1MeteringReceiptReqType_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 iso1MeterInfoType MeterInfo ; -}; - -/* 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 iso1KeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1KeyValueType { - /* 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 iso1DSAKeyValueType 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 iso1RSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1KeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE 20 -struct iso1X509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[iso1X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - /* int64_t X509SerialNumber; */ - struct { - /** a sign value */ - int negative; - /* container size */ - /* size_t size; iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE */ - /** array data container */ - /* For negative values, the Unsigned Integer holds the - * magnitude of the value minus 1 */ - uint8_t data[iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE]; - /** array length (len <= size) */ - size_t len; - } X509SerialNumber; -}; - -typedef enum { - iso1chargingSessionType_Terminate = 0, - iso1chargingSessionType_Pause = 1 -} iso1chargingSessionType; - -/* 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 iso1EVSEStatusType { - /* 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 */ - iso1EVSENotificationType EVSENotification ; -}; - -/* 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 iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1SignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1SignatureMethodType_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[iso1SignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define iso1X509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define iso1X509DataType_X509SKI_BYTES_SIZE 350 -#define iso1X509DataType_X509SKI_ARRAY_SIZE 1 -#define iso1X509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1X509DataType_X509SubjectName_ARRAY_SIZE 1 -#define iso1X509DataType_X509Certificate_BYTES_SIZE 350 -#define iso1X509DataType_X509Certificate_ARRAY_SIZE 1 -#define iso1X509DataType_X509CRL_BYTES_SIZE 350 -#define iso1X509DataType_X509CRL_ARRAY_SIZE 1 -#define iso1X509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1X509DataType { - /* 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 { - struct iso1X509IssuerSerialType array[iso1X509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1X509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1X509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1X509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1X509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1X509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso1serviceCategoryType_EVCharging = 0, - iso1serviceCategoryType_Internet = 1, - iso1serviceCategoryType_ContractCertificate = 2, - iso1serviceCategoryType_OtherCustom = 3 -} iso1serviceCategoryType; - -typedef enum { - iso1paymentOptionType_Contract = 0, - iso1paymentOptionType_ExternalPayment = 1 -} iso1paymentOptionType; - -typedef enum { - iso1EnergyTransferModeType_AC_single_phase_core = 0, - iso1EnergyTransferModeType_AC_three_phase_core = 1, - iso1EnergyTransferModeType_DC_core = 2, - iso1EnergyTransferModeType_DC_extended = 3, - iso1EnergyTransferModeType_DC_combo_core = 4, - iso1EnergyTransferModeType_DC_unique = 5 -} iso1EnergyTransferModeType; - -/* 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 iso1NotificationType_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -struct iso1NotificationType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultCode, urn:iso:15118:2:2013:MsgDataTypes,faultCodeType */ - iso1faultCodeType FaultCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultMsg, urn:iso:15118:2:2013:MsgDataTypes,faultMsgType */ - struct { - exi_string_character_t characters[iso1NotificationType_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - unsigned int FaultMsg_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 iso1TransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1TransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1TransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1TransformType_XPath_ARRAY_SIZE 1 -struct iso1TransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1TransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1TransformType_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 { - exi_string_character_t characters[iso1TransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1TransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -/* 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 iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct iso1PaymentDetailsResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */ - struct { - uint8_t bytes[iso1PaymentDetailsResType_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 ; -}; - -/* 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 iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 -struct iso1ContractSignatureEncryptedPrivateKeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso1SPKIDataType_SPKISexp_BYTES_SIZE 350 -#define iso1SPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define iso1SPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso1SPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso1SPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1SPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1SessionStopReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingSession, urn:iso:15118:2:2013:MsgDataTypes,chargingSessionType */ - iso1chargingSessionType ChargingSession ; -}; - -/* 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 iso1EntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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: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 iso1SessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ -struct iso1SessionSetupReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":EVCCID, urn:iso:15118:2:2013:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[iso1SessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - iso1isolationLevelType_Invalid = 0, - iso1isolationLevelType_Valid = 1, - iso1isolationLevelType_Warning = 2, - iso1isolationLevelType_Fault = 3, - iso1isolationLevelType_No_IMD = 4 -} iso1isolationLevelType; - -/* 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 iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1CanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1DC_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 */ - iso1DC_EVErrorCodeType EVErrorCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */ - int8_t EVRESSSOC ; -}; - -typedef enum { - iso1costKindType_relativePricePercentage = 0, - iso1costKindType_RenewableGenerationPercentage = 1, - iso1costKindType_CarbonDioxideEmission = 2 -} iso1costKindType; - -/* 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 iso1ServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1ServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ServiceType { - /* 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[iso1ServiceType_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 */ - iso1serviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ServiceType_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: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 iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ServiceDiscoveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ServiceDiscoveryReqType_ServiceScope_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 */ - iso1serviceCategoryType ServiceCategory ; - unsigned int ServiceCategory_isUsed:1; -}; - -typedef enum { - iso1chargeProgressType_Start = 0, - iso1chargeProgressType_Stop = 1, - iso1chargeProgressType_Renegotiate = 2 -} iso1chargeProgressType; - -typedef enum { - iso1valueType_bool = 0, - iso1valueType_byte = 1, - iso1valueType_short = 2, - iso1valueType_int = 3, - iso1valueType_physicalValue = 4, - iso1valueType_string = 5 -} iso1valueType; - -/* 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 iso1CableCheckReqType { - /* 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 iso1DC_EVStatusType DC_EVStatus ; -}; - -/* 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 iso1SelectedServiceType { - /* 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; -}; - -/* 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 iso1AC_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 */ - iso1EVSENotificationType 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,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct iso1BodyBaseType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE 6 -struct iso1SupportedEnergyTransferModeType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */ - struct { - iso1EnergyTransferModeType array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE]; - uint16_t arrayLen; - } EnergyTransferMode; -}; - -/* 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 iso1ChargingStatusReqType { - int noContent; /* avoid warning */ -}; - -/* 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 iso1PaymentServiceSelectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; -}; - -/* 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 iso1DigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso1DigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1DigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1DigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1DigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1SignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1SignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1SignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignaturePropertyType_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[iso1SignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso1unitSymbolType_h = 0, - iso1unitSymbolType_m = 1, - iso1unitSymbolType_s = 2, - iso1unitSymbolType_A = 3, - iso1unitSymbolType_V = 4, - iso1unitSymbolType_W = 5, - iso1unitSymbolType_Wh = 6 -} iso1unitSymbolType; - -/* 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 iso1PGPDataType_PGPKeyID_BYTES_SIZE 350 -#define iso1PGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define iso1PGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1PGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso1PGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso1PGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1PGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso1SessionSetupResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1SessionSetupResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso1SessionSetupResType_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; -}; - -/* 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 iso1CertificateChainType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct iso1CertificateChainType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateChainType_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[iso1CertificateChainType_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 iso1SubCertificatesType SubCertificates ; - unsigned int SubCertificates_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 iso1DC_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 */ - iso1EVSENotificationType EVSENotification ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2013:MsgDataTypes,isolationLevelType */ - iso1isolationLevelType EVSEIsolationStatus ; - unsigned int EVSEIsolationStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusCodeType */ - iso1DC_EVSEStatusCodeType EVSEStatusCode ; -}; - -/* 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 iso1ServiceListType_Service_ARRAY_SIZE 8 -struct iso1ServiceListType { - /* 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 iso1ServiceType array[iso1ServiceListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -/* 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 iso1PowerDeliveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1EVSEStatusType 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 iso1AC_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 iso1DC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* 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 iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE 2 -struct iso1PaymentOptionListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ - struct { - iso1paymentOptionType array[iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* 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 iso1PhysicalValueType { - /* 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 */ - iso1unitSymbolType Unit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ - int16_t Value ; -}; - -/* 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 iso1PaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct iso1PaymentDetailsReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1PaymentDetailsReqType_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 iso1CertificateChainType ContractSignatureCertChain ; -}; - -/* 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 iso1AuthorizationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso1DC_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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* 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 iso1ChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1ChargingStatusResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso1ChargingStatusResType_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 iso1PhysicalValueType 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 iso1MeterInfoType 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 iso1AC_EVSEStatusType AC_EVSEStatus ; -}; - -/* 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'. */ -#define iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5 -struct iso1ListOfRootCertificateIDsType { - /* 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'. */ - struct { - struct iso1X509IssuerSerialType array[iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct iso1ChargeServiceType { - /* 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[iso1ChargeServiceType_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 */ - iso1serviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[iso1ChargeServiceType_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 iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ; -}; - -/* 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-16})', derivedBy='RESTRICTION'. */ -#define iso1SelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct iso1SelectedServiceListType { - /* 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 iso1SelectedServiceType array[iso1SelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* 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 iso1CableCheckResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType EVSEProcessing ; -}; - -/* 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'. */ -#define iso1TransformsType_Transform_ARRAY_SIZE 1 -struct iso1TransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct iso1TransformType array[iso1TransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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 iso1PreChargeReqType { - /* 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType EVTargetCurrent ; -}; - -/* 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 iso1AC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVMinCurrent ; -}; - -/* 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 iso1PMaxScheduleEntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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 iso1PhysicalValueType PMax ; -}; - -/* 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 iso1MeteringReceiptResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1EVSEStatusType 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 iso1AC_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 iso1DC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* 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 iso1WeldingDetectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType EVSEPresentVoltage ; -}; - -/* 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 iso1ReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ReferenceType_DigestValue_BYTES_SIZE 350 -struct iso1ReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ReferenceType_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[iso1ReferenceType_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[iso1ReferenceType_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 iso1TransformsType 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 iso1DigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[iso1ReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 iso1CurrentDemandReqType { - /* 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType EVTargetVoltage ; -}; - -/* 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 iso1CostType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":costKind, urn:iso:15118:2:2013:MsgDataTypes,costKindType */ - iso1costKindType 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: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 iso1DC_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 iso1DC_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='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 iso1RetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1RetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1RetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso1RetrievalMethodType_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[iso1RetrievalMethodType_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 iso1TransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 iso1CertificateUpdateResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1CertificateChainType 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 iso1CertificateChainType 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 iso1ContractSignatureEncryptedPrivateKeyType 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 iso1DiffieHellmanPublickeyType 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 iso1EMAIDType 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 iso1CertificateInstallationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1CertificateChainType 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 iso1CertificateChainType 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 iso1ContractSignatureEncryptedPrivateKeyType 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 iso1DiffieHellmanPublickeyType 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 iso1EMAIDType eMAID ; -}; - -/* 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 iso1WeldingDetectionReqType { - /* 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 iso1DC_EVStatusType DC_EVStatus ; -}; - -/* 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 iso1CurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct iso1CurrentDemandResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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[iso1CurrentDemandResType_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 iso1MeterInfoType 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: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 iso1AC_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 iso1AC_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 iso1PhysicalValueType 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 iso1PhysicalValueType EVSEMaxCurrent ; -}; - -/* 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 iso1PaymentServiceSelectionReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ - iso1paymentOptionType 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-16})', derivedBy='RESTRICTION'. */ - struct iso1SelectedServiceListType SelectedServiceList ; -}; - -/* 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 iso1SignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct iso1SignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignaturePropertiesType_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 iso1SignaturePropertyType array[iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 iso1ParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1ParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[iso1ParameterType_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 iso1PhysicalValueType 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[iso1ParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* 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 iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct iso1CertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateInstallationReqType_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[iso1CertificateInstallationReqType_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 iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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 iso1ServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1PaymentOptionListType 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 iso1ChargeServiceType 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 iso1ServiceListType ServiceList ; - unsigned int ServiceList_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 iso1PreChargeResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1DC_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 iso1PhysicalValueType EVSEPresentVoltage ; -}; - -/* 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-16})', derivedBy='RESTRICTION'. */ -#define iso1ParameterSetType_Parameter_ARRAY_SIZE 16 -struct iso1ParameterSetType { - /* 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 iso1ParameterType array[iso1ParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* 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 iso1SignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignedInfoType_Reference_ARRAY_SIZE 1 -struct iso1SignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignedInfoType_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 iso1CanonicalizationMethodType 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 iso1SignatureMethodType 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 iso1ReferenceType array[iso1SignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso1ProfileEntryType { - /* 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 iso1PhysicalValueType 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='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 iso1ManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1ManifestType_Reference_ARRAY_SIZE 1 -struct iso1ManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1ManifestType_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 iso1ReferenceType array[iso1ManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso1DC_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 iso1DC_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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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 iso1PhysicalValueType 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: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 iso1ConsumptionCostType_Cost_ARRAY_SIZE 3 -struct iso1ConsumptionCostType { - /* 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 iso1PhysicalValueType 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 iso1CostType array[iso1ConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* 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'. */ -#define iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct iso1PMaxScheduleType { - /* 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'. */ - struct { - struct iso1PMaxScheduleEntryType array[iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* 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 iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1CertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct iso1CertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1CertificateUpdateReqType_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 iso1CertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso1CertificateUpdateReqType_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 iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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'. */ -#define iso1KeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_KeyName_ARRAY_SIZE 1 -#define iso1KeyInfoType_KeyValue_ARRAY_SIZE 1 -#define iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define iso1KeyInfoType_X509Data_ARRAY_SIZE 1 -#define iso1KeyInfoType_PGPData_ARRAY_SIZE 1 -#define iso1KeyInfoType_SPKIData_ARRAY_SIZE 1 -#define iso1KeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1KeyInfoType_MgmtData_ARRAY_SIZE 1 -#define iso1KeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso1KeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1KeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1KeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1KeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct iso1KeyValueType array[iso1KeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct iso1RetrievalMethodType array[iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct iso1X509DataType array[iso1KeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct iso1PGPDataType array[iso1KeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct iso1SPKIDataType array[iso1KeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso1KeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso1KeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso1KeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso1ChargeParameterDiscoveryReqType { - /* 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 */ - iso1EnergyTransferModeType 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 iso1EVChargeParameterType 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 iso1AC_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 iso1DC_EVChargeParameterType DC_EVChargeParameter ; - unsigned int DC_EVChargeParameter_isUsed:1; -}; - -/* 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-24})', derivedBy='RESTRICTION'. */ -#define iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct iso1ChargingProfileType { - /* 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 iso1ProfileEntryType array[iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* 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 iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 -struct iso1SalesTariffEntryType { - /* 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 iso1IntervalType 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 iso1RelativeTimeIntervalType 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 iso1ConsumptionCostType array[iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* 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 iso1SalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct iso1SalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SalesTariffType_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[iso1SalesTariffType_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 iso1SalesTariffEntryType array[iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* 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'. */ -#define iso1SignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1SignatureType_Object_ARRAY_SIZE 1 -struct iso1SignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso1SignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct iso1SignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct iso1SignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct iso1KeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct iso1ObjectType array[iso1SignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* 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 iso1PowerDeliveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeProgress, urn:iso:15118:2:2013:MsgDataTypes,chargeProgressType */ - iso1chargeProgressType ChargeProgress ; - /* 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":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-24})', derivedBy='RESTRICTION'. */ - struct iso1ChargingProfileType 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 iso1EVPowerDeliveryParameterType 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 iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; -}; - -/* 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 iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct iso1ServiceParameterListType { - /* 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-16})', derivedBy='RESTRICTION'. */ - struct { - struct iso1ParameterSetType array[iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* 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 iso1ServiceDetailResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType 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 iso1ServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* 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 iso1SAScheduleTupleType { - /* 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 iso1PMaxScheduleType 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 iso1SalesTariffType SalesTariff ; - unsigned int SalesTariff_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 iso1MessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -struct iso1MessageHeaderType { - /* element: "urn:iso:15118:2:2013:MsgHeader":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[iso1MessageHeaderType_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 iso1NotificationType 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 iso1SignatureType Signature ; - unsigned int Signature_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'. */ -#define iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3 -struct iso1SAScheduleListType { - /* 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'. */ - struct { - struct iso1SAScheduleTupleType array[iso1SAScheduleListType_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'. */ -struct iso1ChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - iso1responseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - iso1EVSEProcessingType 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 iso1SASchedulesType 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'. */ - struct iso1SAScheduleListType 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 iso1EVSEChargeParameterType 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'. */ - struct iso1AC_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'. */ - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - unsigned int DC_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'. */ -struct iso1BodyType { - /* 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'. */ - struct iso1BodyBaseType 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 iso1SessionSetupReqType 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 iso1SessionSetupResType 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 iso1ServiceDiscoveryReqType 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 iso1ServiceDiscoveryResType 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 iso1ServiceDetailReqType 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 iso1ServiceDetailResType 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 iso1PaymentServiceSelectionReqType 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 iso1PaymentServiceSelectionResType 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 iso1PaymentDetailsReqType 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 iso1PaymentDetailsResType 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 iso1AuthorizationReqType 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 iso1AuthorizationResType 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 iso1ChargeParameterDiscoveryReqType 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 iso1ChargeParameterDiscoveryResType 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 iso1PowerDeliveryReqType 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 iso1PowerDeliveryResType 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 iso1MeteringReceiptReqType 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 iso1MeteringReceiptResType 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 iso1SessionStopReqType 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 iso1SessionStopResType 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 iso1CertificateUpdateReqType 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 iso1CertificateUpdateResType 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 iso1CertificateInstallationReqType 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 iso1CertificateInstallationResType 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 iso1ChargingStatusReqType 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 iso1ChargingStatusResType 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 iso1CableCheckReqType 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 iso1CableCheckResType 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 iso1PreChargeReqType 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 iso1PreChargeResType 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'. */ - struct iso1CurrentDemandReqType 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 iso1CurrentDemandResType 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 iso1WeldingDetectionReqType 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'. */ - struct iso1WeldingDetectionResType WeldingDetectionRes ; -#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 WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_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'. */ -struct iso1AnonType_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'. */ - struct iso1MessageHeaderType 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'. */ - struct iso1BodyType Body ; -}; - - - -#define iso1EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIDocument_DigestValue_BYTES_SIZE 350 -#define iso1EXIFragment_Exponent_BYTES_SIZE 350 -#define iso1EXIFragment_PgenCounter_BYTES_SIZE 350 -#define iso1EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -#define iso1EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define iso1EXIFragment_Seed_BYTES_SIZE 350 -#define iso1EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso1EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ -#define iso1EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_P_BYTES_SIZE 350 -#define iso1EXIFragment_Q_BYTES_SIZE 350 -#define iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_G_BYTES_SIZE 350 -#define iso1EXIFragment_J_BYTES_SIZE 350 -#define iso1EXIFragment_ServiceScope_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -#define iso1EXIFragment_ServiceName_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define iso1EXIFragment_X509CRL_BYTES_SIZE 350 -#define iso1EXIFragment_Y_BYTES_SIZE 350 -#define iso1EXIFragment_DigestValue_BYTES_SIZE 350 -#define iso1EXIFragment_SPKISexp_BYTES_SIZE 350 -#define iso1EXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define iso1EXIFragment_X509Certificate_BYTES_SIZE 350 -#define iso1EXIFragment_FaultMsg_CHARACTERS_SIZE 64 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -#define iso1EXIFragment_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -#define iso1EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -#define iso1EXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define iso1EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -#define iso1EXIFragment_X509SKI_BYTES_SIZE 350 -#define iso1EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1EXIFragment_Modulus_BYTES_SIZE 350 -#define iso1exiElementFrag_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE 50 + EXTRA_CHAR - - -/* Global elements of EXI Document */ -struct iso1EXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso1AnonType_V2G_Message V2G_Message ; - struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso1MeteringReceiptReqType MeteringReceiptReq ; - struct iso1PaymentDetailsReqType PaymentDetailsReq ; - struct iso1MeteringReceiptResType MeteringReceiptRes ; - struct iso1PaymentDetailsResType PaymentDetailsRes ; - struct iso1SessionSetupReqType SessionSetupReq ; - struct iso1SessionSetupResType SessionSetupRes ; - struct iso1CableCheckReqType CableCheckReq ; - struct iso1CableCheckResType CableCheckRes ; - struct iso1CertificateInstallationReqType CertificateInstallationReq ; - struct iso1CertificateInstallationResType CertificateInstallationRes ; - struct iso1WeldingDetectionReqType WeldingDetectionReq ; - struct iso1WeldingDetectionResType WeldingDetectionRes ; - struct iso1CertificateUpdateReqType CertificateUpdateReq ; - struct iso1CertificateUpdateResType CertificateUpdateRes ; - struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso1PowerDeliveryReqType PowerDeliveryReq ; - struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso1PowerDeliveryResType PowerDeliveryRes ; - struct iso1ChargingStatusReqType ChargingStatusReq ; - struct iso1ChargingStatusResType ChargingStatusRes ; - struct iso1BodyBaseType BodyElement ; - struct iso1CurrentDemandReqType CurrentDemandReq ; - struct iso1PreChargeReqType PreChargeReq ; - struct iso1CurrentDemandResType CurrentDemandRes ; - struct iso1PreChargeResType PreChargeRes ; - struct iso1SessionStopReqType SessionStopReq ; - struct iso1AuthorizationReqType AuthorizationReq ; - struct iso1SessionStopResType SessionStopRes ; - struct iso1AuthorizationResType AuthorizationRes ; - struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso1ServiceDetailReqType ServiceDetailReq ; - struct iso1ServiceDetailResType ServiceDetailRes ; - struct iso1DC_EVSEStatusType DC_EVSEStatus ; - struct iso1RelativeTimeIntervalType RelativeTimeInterval ; - struct iso1SalesTariffEntryType SalesTariffEntry ; - struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct iso1SASchedulesType SASchedules ; - struct iso1AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso1SAScheduleListType SAScheduleList ; - struct iso1DC_EVStatusType DC_EVStatus ; - struct iso1EVStatusType EVStatus ; - struct iso1DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso1EVSEStatusType EVSEStatus ; - struct iso1IntervalType TimeInterval ; - struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct iso1EVSEChargeParameterType EVSEChargeParameter ; - struct iso1AC_EVSEStatusType AC_EVSEStatus ; - struct iso1EntryType Entry ; - struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso1PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso1EVChargeParameterType EVChargeParameter ; - struct iso1SignaturePropertyType SignatureProperty ; - struct iso1DSAKeyValueType DSAKeyValue ; - struct iso1SignaturePropertiesType SignatureProperties ; - struct iso1KeyValueType KeyValue ; - struct iso1TransformsType Transforms ; - struct iso1DigestMethodType DigestMethod ; - struct iso1SignatureType Signature ; - struct iso1RetrievalMethodType RetrievalMethod ; - struct iso1ManifestType Manifest ; - struct iso1ReferenceType Reference ; - struct iso1CanonicalizationMethodType CanonicalizationMethod ; - struct iso1RSAKeyValueType RSAKeyValue ; - struct iso1TransformType Transform ; - struct iso1PGPDataType PGPData ; - struct { - exi_string_character_t characters[iso1EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso1SignatureMethodType SignatureMethod ; - struct iso1KeyInfoType KeyInfo ; - struct iso1SPKIDataType SPKIData ; - struct iso1X509DataType X509Data ; - struct iso1SignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[iso1EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[iso1EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso1SignedInfoType SignedInfo ; - struct iso1ObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int V2G_Message_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int DC_EVSEStatus_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 AC_EVChargeParameter_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int EVStatus_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 AC_EVSEChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -struct iso1EXISchemaInformedElementFragmentGrammar { - /* Schema-informed Element Fragment Grammar for START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - /* 4 ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id) */ - unsigned int Id_isUsed:1; - struct { - exi_string_character_t characters[iso1exiElementFrag_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* 247 START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - unsigned int CHARACTERS_GENERIC_isUsed:1; - struct { - exi_string_character_t characters[iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CHARACTERS_GENERIC ; - - - int _warning_; -}; -/* Possible elements of EXI Fragment */ -struct iso1EXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - int ChargingComplete ; - struct iso1PhysicalValueType EVMaxVoltage ; - uint16_t ServiceID ; - int8_t EVRESSSOC ; - uint64_t MeterReading ; - struct iso1PhysicalValueType physicalValue ; - struct iso1IntervalType TimeInterval ; - struct iso1AC_EVSEStatusType AC_EVSEStatus ; - struct iso1PhysicalValueType EVMaxCurrent ; - uint32_t ChargingProfileEntryStart ; - struct iso1PhysicalValueType EVSEMaxCurrent ; - iso1costKindType costKind ; - struct iso1PhysicalValueType EAmount ; - iso1EnergyTransferModeType EnergyTransferMode ; - int64_t X509SerialNumber ; - uint8_t NumEPriceLevels ; - struct iso1RetrievalMethodType RetrievalMethod ; - struct iso1PhysicalValueType PMax ; - int16_t ParameterSetID ; - int8_t BulkSOC ; - struct iso1PhysicalValueType EVSEMinimumCurrentLimit ; - int EVSEPowerLimitAchieved ; - struct iso1SalesTariffEntryType SalesTariffEntry ; - struct iso1TransformsType Transforms ; - iso1EVSEProcessingType EVSEProcessing ; - iso1isolationLevelType EVSEIsolationStatus ; - int BulkChargingComplete ; - uint8_t SAScheduleTupleID ; - iso1faultCodeType FaultCode ; - struct iso1X509IssuerSerialType RootCertificateID ; - int64_t HMACOutputLength ; - struct { - uint8_t bytes[iso1EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct iso1X509IssuerSerialType X509IssuerSerial ; - int8_t byteValue ; - struct iso1SPKIDataType SPKIData ; - struct iso1SAScheduleListType SAScheduleList ; - struct iso1PhysicalValueType EVMaximumPowerLimit ; - struct iso1DC_EVSEStatusType DC_EVSEStatus ; - int16_t RetryCounter ; - struct iso1PhysicalValueType EVSEMaximumCurrentLimit ; - struct iso1SalesTariffType SalesTariff ; - struct { - uint8_t bytes[iso1EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct iso1X509DataType X509Data ; - struct iso1PhysicalValueType EVSECurrentRegulationTolerance ; - struct iso1KeyValueType KeyValue ; - struct iso1AnonType_V2G_Message V2G_Message ; - struct iso1PhysicalValueType EVSEMinimumVoltageLimit ; - iso1responseCodeType ResponseCode ; - struct iso1ProfileEntryType ProfileEntry ; - uint32_t start ; - iso1DC_EVErrorCodeType EVErrorCode ; - struct iso1EVChargeParameterType EVChargeParameter ; - struct iso1CertificateChainType ContractSignatureCertChain ; - struct iso1PhysicalValueType EVSEPresentCurrent ; - struct iso1PGPDataType PGPData ; - struct iso1PhysicalValueType EVMinCurrent ; - int8_t FullSOC ; - uint32_t amount ; - struct iso1DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso1EntryType Entry ; - struct iso1SessionStopResType SessionStopRes ; - int16_t shortValue ; - struct iso1CertificateChainType SAProvisioningCertificateChain ; - struct iso1PowerDeliveryReqType PowerDeliveryReq ; - struct iso1PowerDeliveryResType PowerDeliveryRes ; - struct iso1SessionStopReqType SessionStopReq ; - struct iso1SignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[iso1EXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct { - uint8_t bytes[iso1EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct iso1MessageHeaderType Header ; - struct { - uint8_t bytes[iso1EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct iso1RSAKeyValueType RSAKeyValue ; - int FreeService ; - struct iso1PhysicalValueType EVSENominalVoltage ; - struct { - exi_string_character_t characters[iso1EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct iso1MeteringReceiptResType MeteringReceiptRes ; - struct iso1ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso1MeteringReceiptReqType MeteringReceiptReq ; - struct iso1PreChargeResType PreChargeRes ; - struct { - uint8_t bytes[iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - struct iso1PhysicalValueType EVEnergyCapacity ; - struct iso1SignatureType Signature ; - struct iso1AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso1ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso1PreChargeReqType PreChargeReq ; - uint16_t NotificationMaxDelay ; - struct iso1CableCheckReqType CableCheckReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - int EVSEVoltageLimitAchieved ; - int boolValue ; - struct { - uint8_t bytes[iso1EXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct iso1DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso1ChargingStatusReqType ChargingStatusReq ; - struct iso1CableCheckResType CableCheckRes ; - struct { - exi_string_character_t characters[iso1EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso1MeterInfoType MeterInfo ; - struct iso1PhysicalValueType EVSEEnergyToBeDelivered ; - struct iso1EVSEStatusType EVSEStatus ; - struct iso1ServiceType Service ; - struct iso1ManifestType Manifest ; - struct iso1PhysicalValueType EVMaximumVoltageLimit ; - struct { - uint8_t bytes[iso1EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct { - uint8_t bytes[iso1EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - int32_t intValue ; - struct iso1ChargingProfileType ChargingProfile ; - struct { - uint8_t bytes[iso1EXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[iso1EXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct { - exi_string_character_t characters[iso1EXIFragment_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - int ReceiptRequired ; - struct { - exi_string_character_t characters[iso1EXIFragment_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - int16_t MeterStatus ; - struct iso1DC_EVStatusType DC_EVStatus ; - struct iso1ChargingStatusResType ChargingStatusRes ; - iso1serviceCategoryType ServiceCategory ; - struct iso1NotificationType Notification ; - struct { - uint8_t bytes[iso1EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct { - uint8_t bytes[iso1EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct iso1PhysicalValueType EVSEPresentVoltage ; - struct { - uint8_t bytes[iso1EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso1PhysicalValueType EVSEMaximumPowerLimit ; - int64_t EVSETimeStamp ; - struct iso1CostType Cost ; - struct iso1PhysicalValueType EVSEPeakCurrentRipple ; - struct iso1ConsumptionCostType ConsumptionCost ; - struct iso1DigestMethodType DigestMethod ; - struct { - uint8_t bytes[iso1EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct iso1SessionSetupResType SessionSetupRes ; - int EVSECurrentLimitAchieved ; - struct iso1ServiceDetailReqType ServiceDetailReq ; - struct iso1PhysicalValueType EVSEMaximumVoltageLimit ; - struct iso1ServiceDetailResType ServiceDetailRes ; - struct iso1SignaturePropertiesType SignatureProperties ; - uint8_t EPriceLevel ; - struct iso1PhysicalValueType EVTargetCurrent ; - struct iso1PhysicalValueType RemainingTimeToBulkSoC ; - struct { - exi_string_character_t characters[iso1EXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - struct iso1SessionSetupReqType SessionSetupReq ; - int8_t Multiplier ; - struct iso1CertificateUpdateResType CertificateUpdateRes ; - struct { - uint8_t bytes[iso1EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct iso1PhysicalValueType EVTargetVoltage ; - struct iso1DSAKeyValueType DSAKeyValue ; - struct iso1CertificateUpdateReqType CertificateUpdateReq ; - struct iso1PhysicalValueType EVMaximumCurrentLimit ; - struct iso1CanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[iso1EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct iso1CertificateInstallationReqType CertificateInstallationReq ; - struct iso1CertificateInstallationResType CertificateInstallationRes ; - struct iso1EVStatusType EVStatus ; - struct iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ; - struct iso1SignedInfoType SignedInfo ; - /* Schema-informed Element Fragment Grammar for {urn:iso:15118:2:2013:MsgBody}eMAID */ - struct iso1EXISchemaInformedElementFragmentGrammar eMAID ; - uint16_t MaxEntriesSAScheduleTuple ; - iso1paymentOptionType PaymentOption ; - struct iso1SubCertificatesType SubCertificates ; - struct iso1PaymentDetailsReqType PaymentDetailsReq ; - struct iso1AuthorizationReqType AuthorizationReq ; - struct iso1PaymentDetailsResType PaymentDetailsRes ; - struct iso1AuthorizationResType AuthorizationRes ; - iso1DC_EVSEStatusCodeType EVSEStatusCode ; - struct iso1PaymentOptionListType PaymentOptionList ; - struct iso1SelectedServiceListType SelectedServiceList ; - struct iso1ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - struct iso1WeldingDetectionReqType WeldingDetectionReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - struct iso1WeldingDetectionResType WeldingDetectionRes ; - iso1chargeProgressType ChargeProgress ; - iso1paymentOptionType SelectedPaymentOption ; - struct { - exi_string_character_t characters[iso1EXIFragment_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - struct iso1ParameterSetType ParameterSet ; - struct iso1EVSEChargeParameterType EVSEChargeParameter ; - struct { - uint8_t bytes[iso1EXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - struct iso1SignatureValueType SignatureValue ; - struct iso1SASchedulesType SASchedules ; - uint8_t SalesTariffID ; - struct iso1DiffieHellmanPublickeyType DHpublickey ; - struct iso1ServiceParameterListType ServiceParameterList ; - struct iso1ListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct { - exi_string_character_t characters[iso1EXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct iso1ChargeServiceType ChargeService ; - int8_t amountMultiplier ; - int RCD ; - struct iso1PhysicalValueType startValue ; - struct iso1CurrentDemandReqType CurrentDemandReq ; - struct { - exi_string_character_t characters[iso1EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct iso1DC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct iso1BodyType Body ; - iso1EVSENotificationType EVSENotification ; - int16_t Value ; - struct iso1KeyInfoType KeyInfo ; - struct { - uint8_t bytes[iso1EXIFragment_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - struct iso1AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso1PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso1ParameterType Parameter ; - struct { - uint8_t bytes[iso1EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct iso1SelectedServiceType SelectedService ; - struct iso1PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso1PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct { - uint8_t bytes[iso1EXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - struct iso1CurrentDemandResType CurrentDemandRes ; - int EVReady ; - struct iso1SignatureMethodType SignatureMethod ; - struct iso1PMaxScheduleType PMaxSchedule ; - iso1unitSymbolType Unit ; - struct { - exi_string_character_t characters[iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct iso1ReferenceType Reference ; - int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ; - struct iso1EVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct iso1PhysicalValueType ChargingProfileEntryMaxPower ; - struct iso1ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - uint32_t duration ; - int64_t TMeter ; - struct iso1ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso1ServiceListType ServiceList ; - struct iso1SAScheduleTupleType SAScheduleTuple ; - struct iso1BodyBaseType BodyElement ; - struct iso1PhysicalValueType RemainingTimeToFullSoC ; - struct iso1RelativeTimeIntervalType RelativeTimeInterval ; - struct iso1TransformType Transform ; - uint32_t DepartureTime ; - struct iso1ObjectType Object ; - struct iso1PhysicalValueType EVEnergyRequest ; - struct { - uint8_t bytes[iso1EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - iso1chargingSessionType ChargingSession ; - iso1EnergyTransferModeType RequestedEnergyTransferMode ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int ChargingComplete_isUsed:1; - unsigned int EVMaxVoltage_isUsed:1; - unsigned int ServiceID_isUsed:1; - unsigned int EVRESSSOC_isUsed:1; - unsigned int MeterReading_isUsed:1; - unsigned int physicalValue_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int EVMaxCurrent_isUsed:1; - unsigned int ChargingProfileEntryStart_isUsed:1; - unsigned int EVSEMaxCurrent_isUsed:1; - unsigned int costKind_isUsed:1; - unsigned int EAmount_isUsed:1; - unsigned int EnergyTransferMode_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int NumEPriceLevels_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int PMax_isUsed:1; - unsigned int ParameterSetID_isUsed:1; - unsigned int BulkSOC_isUsed:1; - unsigned int EVSEMinimumCurrentLimit_isUsed:1; - unsigned int EVSEPowerLimitAchieved_isUsed:1; - unsigned int SalesTariffEntry_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int EVSEProcessing_isUsed:1; - unsigned int EVSEIsolationStatus_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int FaultCode_isUsed:1; - unsigned int RootCertificateID_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int byteValue_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int EVMaximumPowerLimit_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; - unsigned int RetryCounter_isUsed:1; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - unsigned int SalesTariff_isUsed:1; - unsigned int PgenCounter_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int EVSEMinimumVoltageLimit_isUsed:1; - unsigned int ResponseCode_isUsed:1; - unsigned int ProfileEntry_isUsed:1; - unsigned int start_isUsed:1; - unsigned int EVErrorCode_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int ContractSignatureCertChain_isUsed:1; - unsigned int EVSEPresentCurrent_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int EVMinCurrent_isUsed:1; - unsigned int FullSOC_isUsed:1; - unsigned int amount_isUsed:1; - unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int Entry_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int shortValue_isUsed:1; - unsigned int SAProvisioningCertificateChain_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int SessionID_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int Header_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int FreeService_isUsed:1; - unsigned int EVSENominalVoltage_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int OEMProvisioningCert_isUsed:1; - unsigned int EVEnergyCapacity_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int AC_EVSEChargeParameter_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int NotificationMaxDelay_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int SalesTariffDescription_isUsed:1; - unsigned int EVSEVoltageLimitAchieved_isUsed:1; - unsigned int boolValue_isUsed:1; - unsigned int EVCCID_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int MeterInfo_isUsed:1; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int Service_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int EVMaximumVoltageLimit_isUsed:1; - unsigned int P_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int intValue_isUsed:1; - unsigned int ChargingProfile_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int ServiceScope_isUsed:1; - unsigned int ReceiptRequired_isUsed:1; - unsigned int ServiceName_isUsed:1; - unsigned int MeterStatus_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int ServiceCategory_isUsed:1; - unsigned int Notification_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int EVSEPresentVoltage_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - unsigned int EVSETimeStamp_isUsed:1; - unsigned int Cost_isUsed:1; - unsigned int EVSEPeakCurrentRipple_isUsed:1; - unsigned int ConsumptionCost_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int EVSECurrentLimitAchieved_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int EPriceLevel_isUsed:1; - unsigned int EVTargetCurrent_isUsed:1; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - unsigned int stringValue_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int Multiplier_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int EVTargetVoltage_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int EVMaximumCurrentLimit_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int EVStatus_isUsed:1; - unsigned int SupportedEnergyTransferMode_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int eMAID_isUsed:1; - unsigned int MaxEntriesSAScheduleTuple_isUsed:1; - unsigned int PaymentOption_isUsed:1; - unsigned int SubCertificates_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int EVSEStatusCode_isUsed:1; - unsigned int PaymentOptionList_isUsed:1; - unsigned int SelectedServiceList_isUsed:1; - unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int FaultMsg_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int ChargeProgress_isUsed:1; - unsigned int SelectedPaymentOption_isUsed:1; - unsigned int EVSEID_isUsed:1; - unsigned int ParameterSet_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; - unsigned int SigMeterReading_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int SASchedules_isUsed:1; - unsigned int SalesTariffID_isUsed:1; - unsigned int DHpublickey_isUsed:1; - unsigned int ServiceParameterList_isUsed:1; - unsigned int ListOfRootCertificateIDs_isUsed:1; - unsigned int MeterID_isUsed:1; - unsigned int ChargeService_isUsed:1; - unsigned int amountMultiplier_isUsed:1; - unsigned int RCD_isUsed:1; - unsigned int startValue_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int Body_isUsed:1; - unsigned int EVSENotification_isUsed:1; - unsigned int Value_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int GenChallenge_isUsed:1; - unsigned int AC_EVChargeParameter_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int Parameter_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int SelectedService_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int Certificate_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int EVReady_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int PMaxSchedule_isUsed:1; - unsigned int Unit_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int ChargingProfileEntryMaxPower_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int duration_isUsed:1; - unsigned int TMeter_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int ServiceList_isUsed:1; - unsigned int SAScheduleTuple_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int RemainingTimeToFullSoC_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int DepartureTime_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int EVEnergyRequest_isUsed:1; - unsigned int Modulus_isUsed:1; - unsigned int ChargingSession_isUsed:1; - unsigned int RequestedEnergyTransferMode_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc); -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag); -void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ -void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType); -void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType); -void init_iso1PowerDeliveryReqType(struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -void init_iso1ParameterType(struct iso1ParameterType* iso1ParameterType); -void init_iso1CertificateInstallationReqType(struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -void init_iso1SessionSetupResType(struct iso1SessionSetupResType* iso1SessionSetupResType); -void init_iso1EVChargeParameterType(struct iso1EVChargeParameterType* iso1EVChargeParameterType); -void init_iso1DiffieHellmanPublickeyType(struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -void init_iso1ServiceDiscoveryResType(struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -void init_iso1ServiceParameterListType(struct iso1ServiceParameterListType* iso1ServiceParameterListType); -void init_iso1CertificateChainType(struct iso1CertificateChainType* iso1CertificateChainType); -void init_iso1SASchedulesType(struct iso1SASchedulesType* iso1SASchedulesType); -void init_iso1DC_EVSEStatusType(struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -void init_iso1PreChargeResType(struct iso1PreChargeResType* iso1PreChargeResType); -void init_iso1ParameterSetType(struct iso1ParameterSetType* iso1ParameterSetType); -void init_iso1ServiceDetailReqType(struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -void init_iso1RelativeTimeIntervalType(struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -void init_iso1SignedInfoType(struct iso1SignedInfoType* iso1SignedInfoType); -void init_iso1EMAIDType(struct iso1EMAIDType* iso1EMAIDType); -void init_iso1EVStatusType(struct iso1EVStatusType* iso1EVStatusType); -void init_iso1ServiceListType(struct iso1ServiceListType* iso1ServiceListType); -void init_iso1EVSEChargeParameterType(struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -void init_iso1EVPowerDeliveryParameterType(struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -void init_iso1ProfileEntryType(struct iso1ProfileEntryType* iso1ProfileEntryType); -void init_iso1AuthorizationReqType(struct iso1AuthorizationReqType* iso1AuthorizationReqType); -void init_iso1MeterInfoType(struct iso1MeterInfoType* iso1MeterInfoType); -void init_iso1ManifestType(struct iso1ManifestType* iso1ManifestType); -void init_iso1ChargeParameterDiscoveryResType(struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -void init_iso1PowerDeliveryResType(struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -void init_iso1DC_EVChargeParameterType(struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -void init_iso1ConsumptionCostType(struct iso1ConsumptionCostType* iso1ConsumptionCostType); -void init_iso1PMaxScheduleType(struct iso1PMaxScheduleType* iso1PMaxScheduleType); -void init_iso1PaymentOptionListType(struct iso1PaymentOptionListType* iso1PaymentOptionListType); -void init_iso1ObjectType(struct iso1ObjectType* iso1ObjectType); -void init_iso1PhysicalValueType(struct iso1PhysicalValueType* iso1PhysicalValueType); -void init_iso1RSAKeyValueType(struct iso1RSAKeyValueType* iso1RSAKeyValueType); -void init_iso1SessionStopResType(struct iso1SessionStopResType* iso1SessionStopResType); -void init_iso1CertificateUpdateReqType(struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -void init_iso1SignatureValueType(struct iso1SignatureValueType* iso1SignatureValueType); -void init_iso1PaymentDetailsReqType(struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -void init_iso1AuthorizationResType(struct iso1AuthorizationResType* iso1AuthorizationResType); -void init_iso1DC_EVSEChargeParameterType(struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -void init_iso1SubCertificatesType(struct iso1SubCertificatesType* iso1SubCertificatesType); -void init_iso1ChargingStatusResType(struct iso1ChargingStatusResType* iso1ChargingStatusResType); -void init_iso1DSAKeyValueType(struct iso1DSAKeyValueType* iso1DSAKeyValueType); -void init_iso1ListOfRootCertificateIDsType(struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -void init_iso1ChargeServiceType(struct iso1ChargeServiceType* iso1ChargeServiceType); -void init_iso1IntervalType(struct iso1IntervalType* iso1IntervalType); -void init_iso1MeteringReceiptReqType(struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -void init_iso1ServiceDetailResType(struct iso1ServiceDetailResType* iso1ServiceDetailResType); -void init_iso1KeyValueType(struct iso1KeyValueType* iso1KeyValueType); -void init_iso1SelectedServiceListType(struct iso1SelectedServiceListType* iso1SelectedServiceListType); -void init_iso1CableCheckResType(struct iso1CableCheckResType* iso1CableCheckResType); -void init_iso1X509IssuerSerialType(struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -void init_iso1KeyInfoType(struct iso1KeyInfoType* iso1KeyInfoType); -void init_iso1TransformsType(struct iso1TransformsType* iso1TransformsType); -void init_iso1ChargeParameterDiscoveryReqType(struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -void init_iso1PreChargeReqType(struct iso1PreChargeReqType* iso1PreChargeReqType); -void init_iso1EVSEStatusType(struct iso1EVSEStatusType* iso1EVSEStatusType); -void init_iso1SignatureMethodType(struct iso1SignatureMethodType* iso1SignatureMethodType); -void init_iso1X509DataType(struct iso1X509DataType* iso1X509DataType); -void init_iso1NotificationType(struct iso1NotificationType* iso1NotificationType); -void init_iso1SAScheduleListType(struct iso1SAScheduleListType* iso1SAScheduleListType); -void init_iso1BodyType(struct iso1BodyType* iso1BodyType); -void init_iso1ChargingProfileType(struct iso1ChargingProfileType* iso1ChargingProfileType); -void init_iso1TransformType(struct iso1TransformType* iso1TransformType); -void init_iso1SAScheduleTupleType(struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -void init_iso1AC_EVChargeParameterType(struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -void init_iso1AnonType_V2G_Message(struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -void init_iso1PaymentDetailsResType(struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -void init_iso1ContractSignatureEncryptedPrivateKeyType(struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -void init_iso1PMaxScheduleEntryType(struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -void init_iso1SPKIDataType(struct iso1SPKIDataType* iso1SPKIDataType); -void init_iso1MeteringReceiptResType(struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -void init_iso1SessionStopReqType(struct iso1SessionStopReqType* iso1SessionStopReqType); -void init_iso1WeldingDetectionResType(struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -void init_iso1ReferenceType(struct iso1ReferenceType* iso1ReferenceType); -void init_iso1CurrentDemandReqType(struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -void init_iso1SalesTariffEntryType(struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -void init_iso1EntryType(struct iso1EntryType* iso1EntryType); -void init_iso1SessionSetupReqType(struct iso1SessionSetupReqType* iso1SessionSetupReqType); -void init_iso1CostType(struct iso1CostType* iso1CostType); -void init_iso1DC_EVPowerDeliveryParameterType(struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -void init_iso1RetrievalMethodType(struct iso1RetrievalMethodType* iso1RetrievalMethodType); -void init_iso1CertificateUpdateResType(struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -void init_iso1CertificateInstallationResType(struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -void init_iso1CanonicalizationMethodType(struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -void init_iso1WeldingDetectionReqType(struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -void init_iso1DC_EVStatusType(struct iso1DC_EVStatusType* iso1DC_EVStatusType); -void init_iso1CurrentDemandResType(struct iso1CurrentDemandResType* iso1CurrentDemandResType); -void init_iso1ServiceType(struct iso1ServiceType* iso1ServiceType); -void init_iso1ServiceDiscoveryReqType(struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -void init_iso1AC_EVSEChargeParameterType(struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -void init_iso1CableCheckReqType(struct iso1CableCheckReqType* iso1CableCheckReqType); -void init_iso1SelectedServiceType(struct iso1SelectedServiceType* iso1SelectedServiceType); -void init_iso1AC_EVSEStatusType(struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -void init_iso1SalesTariffType(struct iso1SalesTariffType* iso1SalesTariffType); -void init_iso1PaymentServiceSelectionReqType(struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -void init_iso1SignaturePropertiesType(struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -void init_iso1BodyBaseType(struct iso1BodyBaseType* iso1BodyBaseType); -void init_iso1SupportedEnergyTransferModeType(struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -void init_iso1ChargingStatusReqType(struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -void init_iso1PaymentServiceSelectionResType(struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -void init_iso1DigestMethodType(struct iso1DigestMethodType* iso1DigestMethodType); -void init_iso1SignaturePropertyType(struct iso1SignaturePropertyType* iso1SignaturePropertyType); -void init_iso1PGPDataType(struct iso1PGPDataType* iso1PGPDataType); - - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso1/iso1EXIDatatypesDecoder.c b/src/iso1/iso1EXIDatatypesDecoder.c deleted file mode 100644 index 49c5685..0000000 --- a/src/iso1/iso1EXIDatatypesDecoder.c +++ /dev/null @@ -1,19379 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso1EXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "iso1EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso1_DATATYPES_DECODER_C -#define EXI_iso1_DATATYPES_DECODER_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType); -static int decode_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType); -static int decode_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -static int decode_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType); -static int decode_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -static int decode_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType); -static int decode_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType); -static int decode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -static int decode_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -static int decode_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType); -static int decode_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType); -static int decode_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType); -static int decode_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -static int decode_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType); -static int decode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType); -static int decode_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -static int decode_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -static int decode_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType); -static int decode_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType); -static int decode_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType); -static int decode_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType); -static int decode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -static int decode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -static int decode_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType); -static int decode_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType); -static int decode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType); -static int decode_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType); -static int decode_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -static int decode_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -static int decode_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -static int decode_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType); -static int decode_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType); -static int decode_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType); -static int decode_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType); -static int decode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType); -static int decode_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType); -static int decode_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType); -static int decode_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -static int decode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType); -static int decode_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -static int decode_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType); -static int decode_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -static int decode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType); -static int decode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType); -static int decode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType); -static int decode_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -static int decode_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType); -static int decode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType); -static int decode_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -static int decode_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType); -static int decode_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType); -static int decode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType); -static int decode_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType); -static int decode_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -static int decode_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType); -static int decode_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType); -static int decode_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -static int decode_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType); -static int decode_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType); -static int decode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType); -static int decode_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType); -static int decode_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType); -static int decode_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType); -static int decode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType); -static int decode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType); -static int decode_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType); -static int decode_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -static int decode_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -static int decode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -static int decode_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -static int decode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -static int decode_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -static int decode_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType); -static int decode_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -static int decode_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType); -static int decode_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -static int decode_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType); -static int decode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -static int decode_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -static int decode_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType); -static int decode_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType); -static int decode_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType); -static int decode_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -static int decode_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType); -static int decode_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -static int decode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -static int decode_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -static int decode_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -static int decode_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType); -static int decode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType); -static int decode_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType); -static int decode_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -static int decode_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -static int decode_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType); -static int decode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType); -static int decode_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -static int decode_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType); -static int decode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -static int decode_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -static int decode_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType); -static int decode_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -static int decode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -static int decode_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -static int decode_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType); -static int decode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType); -static int decode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType); - -/* Deviant data decoding (skip functions) */ - - - /* 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_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - int done = 0; - - init_iso1MessageHeaderType(iso1MessageHeaderType); - - while(!done) { - switch(grammarID) { - case 0: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1MessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MessageHeaderType->SessionID.bytesLen) <= iso1MessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MessageHeaderType->SessionID.bytesLen, iso1MessageHeaderType->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:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* 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_iso1NotificationType(stream, &iso1MessageHeaderType->Notification); - iso1MessageHeaderType->Notification_isUsed = 1u; - grammarID = 2; - break; - case 1: - errn = decode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature); - iso1MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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_iso1SignatureType(stream, &iso1MessageHeaderType->Signature); - iso1MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType) { - int grammarID = 5; - int done = 0; - - init_iso1SignatureType(iso1SignatureType); - - while(!done) { - switch(grammarID) { - case 5: - /* 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, &iso1SignatureType->Id.charactersLen); - if (errn == 0) { - if (iso1SignatureType->Id.charactersLen >= 2) { - iso1SignatureType->Id.charactersLen = (uint16_t)(iso1SignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureType->Id.charactersLen, iso1SignatureType->Id.characters, iso1SignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureType->Id_isUsed = 1u; - grammarID = 6; - break; - case 1: - errn = decode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo); - grammarID = 7; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo); - grammarID = 7; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* 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_iso1SignatureValueType(stream, &iso1SignatureType->SignatureValue); - grammarID = 8; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* 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_iso1KeyInfoType(stream, &iso1SignatureType->KeyInfo); - iso1SignatureType->KeyInfo_isUsed = 1u; - grammarID = 9; - break; - case 1: - if (iso1SignatureType->Object.arrayLen < iso1SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso1ObjectType(stream, &iso1SignatureType->Object.array[iso1SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* 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 (iso1SignatureType->Object.arrayLen < iso1SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso1ObjectType(stream, &iso1SignatureType->Object.array[iso1SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 9; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - int grammarID = 10; - int done = 0; - - init_iso1PowerDeliveryReqType(iso1PowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1PowerDeliveryReqType->ChargeProgress = (iso1chargeProgressType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1PowerDeliveryReqType->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 = 12; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* 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_iso1ChargingProfileType(stream, &iso1PowerDeliveryReqType->ChargingProfile); - iso1PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 13; - break; - case 1: - errn = decode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* 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_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter); - iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType) { - int grammarID = 14; - int done = 0; - - init_iso1ParameterType(iso1ParameterType); - - while(!done) { - switch(grammarID) { - case 14: - /* 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, &iso1ParameterType->Name.charactersLen); - if (errn == 0) { - if (iso1ParameterType->Name.charactersLen >= 2) { - iso1ParameterType->Name.charactersLen = (uint16_t)(iso1ParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ParameterType->Name.charactersLen, iso1ParameterType->Name.characters, iso1ParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* 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, &iso1ParameterType->boolValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1ParameterType->byteValue = (int8_t)(uint32 -128); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso1ParameterType->shortValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &iso1ParameterType->intValue); - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso1PhysicalValueType(stream, &iso1ParameterType->physicalValue); - iso1ParameterType->physicalValue_isUsed = 1u; - grammarID = 3; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ParameterType->stringValue.charactersLen); - if (errn == 0) { - if (iso1ParameterType->stringValue.charactersLen >= 2) { - iso1ParameterType->stringValue.charactersLen = (uint16_t)(iso1ParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ParameterType->stringValue.charactersLen, iso1ParameterType->stringValue.characters, iso1ParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - int grammarID = 16; - int done = 0; - - init_iso1CertificateInstallationReqType(iso1CertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 16: - /* 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, &iso1CertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateInstallationReqType->Id.charactersLen >= 2) { - iso1CertificateInstallationReqType->Id.charactersLen = (uint16_t)(iso1CertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateInstallationReqType->Id.charactersLen, iso1CertificateInstallationReqType->Id.characters, iso1CertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* 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, &iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= iso1CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen, iso1CertificateInstallationReqType->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 = 18; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType) { - int grammarID = 19; - int done = 0; - - init_iso1SessionSetupResType(iso1SessionSetupResType); - - while(!done) { - switch(grammarID) { - case 19: - /* 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); - iso1SessionSetupResType->ResponseCode = (iso1responseCodeType) 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 = 20; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1SessionSetupResType->EVSEID.charactersLen >= 2) { - iso1SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso1SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SessionSetupResType->EVSEID.charactersLen, iso1SessionSetupResType->EVSEID.characters, iso1SessionSetupResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 21; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1SessionSetupResType->EVSETimeStamp); - iso1SessionSetupResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - int grammarID = 22; - int done = 0; - - init_iso1EVChargeParameterType(iso1EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 22: - /* 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, &iso1EVChargeParameterType->DepartureTime); - iso1EVChargeParameterType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - int grammarID = 23; - int done = 0; - - init_iso1DiffieHellmanPublickeyType(iso1DiffieHellmanPublickeyType); - - while(!done) { - switch(grammarID) { - case 23: - /* 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, &iso1DiffieHellmanPublickeyType->Id.charactersLen); - if (errn == 0) { - if (iso1DiffieHellmanPublickeyType->Id.charactersLen >= 2) { - iso1DiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(iso1DiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DiffieHellmanPublickeyType->Id.charactersLen, iso1DiffieHellmanPublickeyType->Id.characters, iso1DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 24; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1DiffieHellmanPublickeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1DiffieHellmanPublickeyType->CONTENT.bytesLen) <= iso1DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DiffieHellmanPublickeyType->CONTENT.bytesLen, iso1DiffieHellmanPublickeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - int grammarID = 25; - int done = 0; - - init_iso1ServiceDiscoveryResType(iso1ServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 25: - /* 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); - iso1ServiceDiscoveryResType->ResponseCode = (iso1responseCodeType) 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 = 26; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PaymentOptionListType(stream, &iso1ServiceDiscoveryResType->PaymentOptionList); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ChargeServiceType(stream, &iso1ServiceDiscoveryResType->ChargeService); - grammarID = 28; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* 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_iso1ServiceListType(stream, &iso1ServiceDiscoveryResType->ServiceList); - iso1ServiceDiscoveryResType->ServiceList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - int grammarID = 29; - int done = 0; - - init_iso1ServiceParameterListType(iso1ServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceParameterListType->ParameterSet.arrayLen < iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array[iso1ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceParameterListType->ParameterSet.arrayLen < iso1ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array[iso1ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType) { - int grammarID = 31; - int done = 0; - - init_iso1CertificateChainType(iso1CertificateChainType); - - while(!done) { - switch(grammarID) { - case 31: - /* 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, &iso1CertificateChainType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateChainType->Id.charactersLen >= 2) { - iso1CertificateChainType->Id.charactersLen = (uint16_t)(iso1CertificateChainType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateChainType->Id.charactersLen, iso1CertificateChainType->Id.characters, iso1CertificateChainType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CertificateChainType->Id_isUsed = 1u; - grammarID = 32; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso1CertificateChainType->Certificate.bytesLen) <= iso1CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateChainType->Certificate.bytesLen, iso1CertificateChainType->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 = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* 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, &iso1CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso1CertificateChainType->Certificate.bytesLen) <= iso1CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1CertificateChainType->Certificate.bytesLen, iso1CertificateChainType->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 = 33; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* 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_iso1SubCertificatesType(stream, &iso1CertificateChainType->SubCertificates); - iso1CertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType) { - int grammarID = 34; - int done = 0; - - init_iso1SASchedulesType(iso1SASchedulesType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - int grammarID = 35; - int done = 0; - - init_iso1DC_EVSEStatusType(iso1DC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 35: - /* 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, &iso1DC_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 = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2: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); - iso1DC_EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 37; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* 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); - iso1DC_EVSEStatusType->EVSEIsolationStatus = (iso1isolationLevelType) uint32; - iso1DC_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 = 38; - } 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); - iso1DC_EVSEStatusType->EVSEStatusCode = (iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 38: - /* 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); - iso1DC_EVSEStatusType->EVSEStatusCode = (iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType) { - int grammarID = 39; - int done = 0; - - init_iso1PreChargeResType(iso1PreChargeResType); - - while(!done) { - switch(grammarID) { - case 39: - /* 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); - iso1PreChargeResType->ResponseCode = (iso1responseCodeType) 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 = 40; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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_iso1DC_EVSEStatusType(stream, &iso1PreChargeResType->DC_EVSEStatus); - grammarID = 41; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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-16})', derivedBy='RESTRICTION'. */ -static int decode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType) { - int grammarID = 42; - int done = 0; - - init_iso1ParameterSetType(iso1ParameterSetType); - - while(!done) { - switch(grammarID) { - case 42: - /* 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, &iso1ParameterSetType->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 = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 45; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 46: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 47; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 48; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 49; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 52; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 52: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 53; - break; - case 1: - done = 1; - grammarID = 4; - 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 54; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 54: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 55; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 55: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 56; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 56: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 57; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 58; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* 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 (iso1ParameterSetType->Parameter.arrayLen < iso1ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array[iso1ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - int grammarID = 59; - int done = 0; - - init_iso1ServiceDetailReqType(iso1ServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 59: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ServiceDetailReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - int grammarID = 60; - int done = 0; - - init_iso1RelativeTimeIntervalType(iso1RelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 60: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso1RelativeTimeIntervalType->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:2013:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 61; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1RelativeTimeIntervalType->duration); - iso1RelativeTimeIntervalType->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:2013:MsgDataTypes}duration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType) { - int grammarID = 62; - int done = 0; - - init_iso1SignedInfoType(iso1SignedInfoType); - - while(!done) { - switch(grammarID) { - case 62: - /* 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, &iso1SignedInfoType->Id.charactersLen); - if (errn == 0) { - if (iso1SignedInfoType->Id.charactersLen >= 2) { - iso1SignedInfoType->Id.charactersLen = (uint16_t)(iso1SignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignedInfoType->Id.charactersLen, iso1SignedInfoType->Id.characters, iso1SignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignedInfoType->Id_isUsed = 1u; - grammarID = 63; - break; - case 1: - errn = decode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* 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_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* 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_iso1SignatureMethodType(stream, &iso1SignedInfoType->SignatureMethod); - grammarID = 65; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 65: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SignedInfoType->Reference.arrayLen < iso1SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array[iso1SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* 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 (iso1SignedInfoType->Reference.arrayLen < iso1SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array[iso1SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType) { - int grammarID = 67; - int done = 0; - - init_iso1EMAIDType(iso1EMAIDType); - - while(!done) { - switch(grammarID) { - case 67: - /* 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, &iso1EMAIDType->Id.charactersLen); - if (errn == 0) { - if (iso1EMAIDType->Id.charactersLen >= 2) { - iso1EMAIDType->Id.charactersLen = (uint16_t)(iso1EMAIDType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1EMAIDType->Id.charactersLen, iso1EMAIDType->Id.characters, iso1EMAIDType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 68; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1EMAIDType->CONTENT.charactersLen); - if (errn == 0) { - if (iso1EMAIDType->CONTENT.charactersLen >= 2) { - iso1EMAIDType->CONTENT.charactersLen = (uint16_t)(iso1EMAIDType->CONTENT.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1EMAIDType->CONTENT.charactersLen, iso1EMAIDType->CONTENT.characters, iso1EMAIDType_CONTENT_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType) { - int grammarID = 34; - int done = 0; - - init_iso1EVStatusType(iso1EVStatusType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType) { - int grammarID = 69; - int done = 0; - - init_iso1ServiceListType(iso1ServiceListType); - - while(!done) { - switch(grammarID) { - case 69: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* 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 (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 71; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 72; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 73; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 75; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 76; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ServiceListType->Service.arrayLen < iso1ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso1ServiceType(stream, &iso1ServiceListType->Service.array[iso1ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - int grammarID = 34; - int done = 0; - - init_iso1EVSEChargeParameterType(iso1EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - int grammarID = 34; - int done = 0; - - init_iso1EVPowerDeliveryParameterType(iso1EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType) { - int grammarID = 77; - int done = 0; - - init_iso1ProfileEntryType(iso1ProfileEntryType); - - while(!done) { - switch(grammarID) { - case 77: - /* 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, &iso1ProfileEntryType->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 = 78; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1ProfileEntryType->ChargingProfileEntryMaxPower); - grammarID = 79; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), 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, 2, &(uint32)); - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse = (int8_t)(uint32 + 1); - iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - int grammarID = 80; - int done = 0; - - init_iso1AuthorizationReqType(iso1AuthorizationReqType); - - while(!done) { - switch(grammarID) { - case 80: - /* 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, &iso1AuthorizationReqType->Id.charactersLen); - if (errn == 0) { - if (iso1AuthorizationReqType->Id.charactersLen >= 2) { - iso1AuthorizationReqType->Id.charactersLen = (uint16_t)(iso1AuthorizationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1AuthorizationReqType->Id.charactersLen, iso1AuthorizationReqType->Id.characters, iso1AuthorizationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1AuthorizationReqType->Id_isUsed = 1u; - grammarID = 81; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1AuthorizationReqType->GenChallenge.bytesLen) <= iso1AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytesLen, iso1AuthorizationReqType->GenChallenge.bytes); - } - iso1AuthorizationReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* 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, &iso1AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1AuthorizationReqType->GenChallenge.bytesLen) <= iso1AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytesLen, iso1AuthorizationReqType->GenChallenge.bytes); - } - iso1AuthorizationReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType) { - int grammarID = 82; - int done = 0; - - init_iso1MeterInfoType(iso1MeterInfoType); - - while(!done) { - switch(grammarID) { - case 82: - /* 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, &iso1MeterInfoType->MeterID.charactersLen); - if (errn == 0) { - if (iso1MeterInfoType->MeterID.charactersLen >= 2) { - iso1MeterInfoType->MeterID.charactersLen = (uint16_t)(iso1MeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1MeterInfoType->MeterID.charactersLen, iso1MeterInfoType->MeterID.characters, iso1MeterInfoType_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}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 83; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* 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] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso1MeterInfoType->MeterReading); - iso1MeterInfoType->MeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 84; - } 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, &iso1MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso1MeterInfoType->SigMeterReading.bytesLen) <= iso1MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytesLen, iso1MeterInfoType->SigMeterReading.bytes); - } - iso1MeterInfoType->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 = 85; - } 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, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* 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] */ - 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, &iso1MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso1MeterInfoType->SigMeterReading.bytesLen) <= iso1MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytesLen, iso1MeterInfoType->SigMeterReading.bytes); - } - iso1MeterInfoType->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 = 85; - } 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, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso1MeterInfoType->MeterStatus); - iso1MeterInfoType->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 = 86; - } 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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1MeterInfoType->TMeter); - iso1MeterInfoType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType) { - int grammarID = 87; - int done = 0; - - init_iso1ManifestType(iso1ManifestType); - - while(!done) { - switch(grammarID) { - case 87: - /* 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, &iso1ManifestType->Id.charactersLen); - if (errn == 0) { - if (iso1ManifestType->Id.charactersLen >= 2) { - iso1ManifestType->Id.charactersLen = (uint16_t)(iso1ManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ManifestType->Id.charactersLen, iso1ManifestType->Id.characters, iso1ManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ManifestType->Id_isUsed = 1u; - grammarID = 88; - break; - case 1: - if (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* 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 (iso1ManifestType->Reference.arrayLen < iso1ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array[iso1ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - int grammarID = 89; - int done = 0; - - init_iso1ChargeParameterDiscoveryResType(iso1ChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 89: - /* 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); - iso1ChargeParameterDiscoveryResType->ResponseCode = (iso1responseCodeType) 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 = 90; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* 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); - iso1ChargeParameterDiscoveryResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 91; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 91: - /* 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_iso1SAScheduleListType(stream, &iso1ChargeParameterDiscoveryResType->SAScheduleList); - iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 92; - break; - case 1: - errn = decode_iso1SASchedulesType(stream, &iso1ChargeParameterDiscoveryResType->SASchedules); - iso1ChargeParameterDiscoveryResType->SASchedules_isUsed = 1u; - grammarID = 92; - break; - case 2: - errn = decode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* 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_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter); - iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - int grammarID = 93; - int done = 0; - - init_iso1PowerDeliveryResType(iso1PowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 93: - /* 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); - iso1PowerDeliveryResType->ResponseCode = (iso1responseCodeType) 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 = 94; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* 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_iso1AC_EVSEStatusType(stream, &iso1PowerDeliveryResType->AC_EVSEStatus); - iso1PowerDeliveryResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1PowerDeliveryResType->DC_EVSEStatus); - iso1PowerDeliveryResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEStatusType(stream, &iso1PowerDeliveryResType->EVSEStatus); - iso1PowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - int grammarID = 95; - int done = 0; - - init_iso1DC_EVChargeParameterType(iso1DC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 95: - /* 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, &iso1DC_EVChargeParameterType->DepartureTime); - iso1DC_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 = 96; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus); - grammarID = 97; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* 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_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus); - grammarID = 97; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumCurrentLimit); - grammarID = 98; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumPowerLimit); - iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 99; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 100; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 100; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyCapacity); - iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed = 1u; - grammarID = 101; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest); - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 102; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 101: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest); - iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 102; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* 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)); - iso1DC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 103; - } 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 103: - /* 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)); - iso1DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - int grammarID = 104; - int done = 0; - - init_iso1ConsumptionCostType(iso1ConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1ConsumptionCostType->startValue); - grammarID = 105; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.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({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ConsumptionCostType->Cost.arrayLen < iso1ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array[iso1ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - int grammarID = 108; - int done = 0; - - init_iso1PMaxScheduleType(iso1PMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array[iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* 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 (iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso1PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array[iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - 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_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - int grammarID = 110; - int done = 0; - - init_iso1PaymentOptionListType(iso1PaymentOptionListType); - - while(!done) { - switch(grammarID) { - case 110: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PaymentOptionListType->PaymentOption.arrayLen < iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType->PaymentOption.arrayLen] = (iso1paymentOptionType) uint32; - iso1PaymentOptionListType->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}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 111; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1PaymentOptionListType->PaymentOption.arrayLen < iso1PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType->PaymentOption.arrayLen] = (iso1paymentOptionType) uint32; - iso1PaymentOptionListType->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}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType) { - int grammarID = 112; - int done = 0; - - init_iso1ObjectType(iso1ObjectType); - - while(!done) { - switch(grammarID) { - case 112: - /* 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, &iso1ObjectType->Encoding.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Encoding.charactersLen >= 2) { - iso1ObjectType->Encoding.charactersLen = (uint16_t)(iso1ObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Encoding.charactersLen, iso1ObjectType->Encoding.characters, iso1ObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Encoding_isUsed = 1u; - grammarID = 113; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Id.charactersLen >= 2) { - iso1ObjectType->Id.charactersLen = (uint16_t)(iso1ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Id.charactersLen, iso1ObjectType->Id.characters, iso1ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Id_isUsed = 1u; - grammarID = 114; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 4: - done = 1; - grammarID = 4; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* 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, &iso1ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso1ObjectType->Id.charactersLen >= 2) { - iso1ObjectType->Id.charactersLen = (uint16_t)(iso1ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->Id.charactersLen, iso1ObjectType->Id.characters, iso1ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->Id_isUsed = 1u; - grammarID = 114; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 3: - done = 1; - grammarID = 4; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 114: - /* 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, &iso1ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso1ObjectType->MimeType.charactersLen >= 2) { - iso1ObjectType->MimeType.charactersLen = (uint16_t)(iso1ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->MimeType.charactersLen, iso1ObjectType->MimeType.characters, iso1ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->MimeType_isUsed = 1u; - grammarID = 115; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso1ObjectType->ANY.charactersLen >= 2) { - iso1ObjectType->ANY.charactersLen = (uint16_t)(iso1ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ObjectType->ANY.charactersLen, iso1ObjectType->ANY.characters, iso1ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ObjectType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - int grammarID = 117; - int done = 0; - - init_iso1PhysicalValueType(iso1PhysicalValueType); - - while(!done) { - switch(grammarID) { - case 117: - /* 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)); - iso1PhysicalValueType->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 = 118; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 118: - /* 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); - iso1PhysicalValueType->Unit = (iso1unitSymbolType) 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 = 119; - } 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: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, &iso1PhysicalValueType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - int grammarID = 120; - int done = 0; - - init_iso1RSAKeyValueType(iso1RSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 120: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1RSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (iso1RSAKeyValueType->Modulus.bytesLen) <= iso1RSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1RSAKeyValueType->Modulus.bytesLen, iso1RSAKeyValueType->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 = 121; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 121: - /* 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, &iso1RSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (iso1RSAKeyValueType->Exponent.bytesLen) <= iso1RSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1RSAKeyValueType->Exponent.bytesLen, iso1RSAKeyValueType->Exponent.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType) { - int grammarID = 122; - int done = 0; - - init_iso1SessionStopResType(iso1SessionStopResType); - - while(!done) { - switch(grammarID) { - case 122: - /* 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); - iso1SessionStopResType->ResponseCode = (iso1responseCodeType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - int grammarID = 123; - int done = 0; - - init_iso1CertificateUpdateReqType(iso1CertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 123: - /* 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, &iso1CertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - if (iso1CertificateUpdateReqType->Id.charactersLen >= 2) { - iso1CertificateUpdateReqType->Id.charactersLen = (uint16_t)(iso1CertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateUpdateReqType->Id.charactersLen, iso1CertificateUpdateReqType->Id.characters, iso1CertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 124; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 125; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 125: - /* 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, &iso1CertificateUpdateReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso1CertificateUpdateReqType->eMAID.charactersLen >= 2) { - iso1CertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(iso1CertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CertificateUpdateReqType->eMAID.charactersLen, iso1CertificateUpdateReqType->eMAID.characters, iso1CertificateUpdateReqType_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:2013:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 18; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType) { - int grammarID = 126; - int done = 0; - - init_iso1SignatureValueType(iso1SignatureValueType); - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->Id.charactersLen); - if (errn == 0) { - if (iso1SignatureValueType->Id.charactersLen >= 2) { - iso1SignatureValueType->Id.charactersLen = (uint16_t)(iso1SignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureValueType->Id.charactersLen, iso1SignatureValueType->Id.characters, iso1SignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureValueType->Id_isUsed = 1u; - grammarID = 24; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1SignatureValueType->CONTENT.bytesLen) <= iso1SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SignatureValueType->CONTENT.bytesLen, iso1SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1SignatureValueType->CONTENT.bytesLen) <= iso1SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SignatureValueType->CONTENT.bytesLen, iso1SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - int grammarID = 127; - int done = 0; - - init_iso1PaymentDetailsReqType(iso1PaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 127: - /* 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, &iso1PaymentDetailsReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso1PaymentDetailsReqType->eMAID.charactersLen >= 2) { - iso1PaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(iso1PaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1PaymentDetailsReqType->eMAID.charactersLen, iso1PaymentDetailsReqType->eMAID.characters, iso1PaymentDetailsReqType_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: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}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1PaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType) { - int grammarID = 129; - int done = 0; - - init_iso1AuthorizationResType(iso1AuthorizationResType); - - while(!done) { - switch(grammarID) { - case 129: - /* 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); - iso1AuthorizationResType->ResponseCode = (iso1responseCodeType) 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 = 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: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); - iso1AuthorizationResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - int grammarID = 131; - int done = 0; - - init_iso1DC_EVSEChargeParameterType(iso1DC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 131: - /* 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_iso1DC_EVSEStatusType(stream, &iso1DC_EVSEChargeParameterType->DC_EVSEStatus); - grammarID = 132; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumCurrentLimit); - grammarID = 133; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumPowerLimit); - grammarID = 134; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 135; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumCurrentLimit); - grammarID = 136; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumVoltageLimit); - grammarID = 137; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 137: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 138; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 139; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 139; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* 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_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType) { - int grammarID = 140; - int done = 0; - - init_iso1SubCertificatesType(iso1SubCertificatesType); - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 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:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 142; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 143; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SubCertificatesType->Certificate.arrayLen < iso1SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso1SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytesLen, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType->Certificate.arrayLen].bytes); - } - iso1SubCertificatesType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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 decode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - int grammarID = 144; - int done = 0; - - init_iso1ChargingStatusResType(iso1ChargingStatusResType); - - 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); - iso1ChargingStatusResType->ResponseCode = (iso1responseCodeType) 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}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, &iso1ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso1ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso1ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargingStatusResType->EVSEID.charactersLen, iso1ChargingStatusResType->EVSEID.characters, iso1ChargingStatusResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 146; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1ChargingStatusResType->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 = 147; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 147: - /* 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_iso1PhysicalValueType(stream, &iso1ChargingStatusResType->EVSEMaxCurrent); - iso1ChargingStatusResType->EVSEMaxCurrent_isUsed = 1u; - grammarID = 148; - break; - case 1: - errn = decode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo); - iso1ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 149; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo); - iso1ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 149; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - 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, &iso1ChargingStatusResType->ReceiptRequired); - iso1ChargingStatusResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 150; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - int grammarID = 151; - int done = 0; - - init_iso1DSAKeyValueType(iso1DSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 151: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->P.bytesLen) <= iso1DSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->P.bytesLen, iso1DSAKeyValueType->P.bytes); - } - iso1DSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 152; - } 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, &iso1DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->G.bytesLen) <= iso1DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->G.bytesLen, iso1DSAKeyValueType->G.bytes); - } - iso1DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } 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({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Q.bytesLen) <= iso1DSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Q.bytesLen, iso1DSAKeyValueType->Q.bytes); - } - iso1DSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 155; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->G.bytesLen) <= iso1DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->G.bytesLen, iso1DSAKeyValueType->G.bytes); - } - iso1DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 153; - } 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, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Y.bytesLen) <= iso1DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Y.bytesLen, iso1DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 154; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->J.bytesLen) <= iso1DSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->J.bytesLen, iso1DSAKeyValueType->J.bytes); - } - iso1DSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 156; - } 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, &iso1DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Seed.bytesLen) <= iso1DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Seed.bytesLen, iso1DSAKeyValueType->Seed.bytes); - } - iso1DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 157; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->Seed.bytesLen) <= iso1DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->Seed.bytesLen, iso1DSAKeyValueType->Seed.bytes); - } - iso1DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 157; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 157: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1DSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (iso1DSAKeyValueType->PgenCounter.bytesLen) <= iso1DSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1DSAKeyValueType->PgenCounter.bytesLen, iso1DSAKeyValueType->PgenCounter.bytes); - } - iso1DSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - int grammarID = 158; - int done = 0; - - init_iso1ListOfRootCertificateIDsType(iso1ListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 158: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array[iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* 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 (iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso1ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array[iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType) { - int grammarID = 160; - int done = 0; - - init_iso1ChargeServiceType(iso1ChargeServiceType); - - while(!done) { - switch(grammarID) { - case 160: - /* 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, &iso1ChargeServiceType->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 = 161; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* 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, &iso1ChargeServiceType->ServiceName.charactersLen); - if (errn == 0) { - if (iso1ChargeServiceType->ServiceName.charactersLen >= 2) { - iso1ChargeServiceType->ServiceName.charactersLen = (uint16_t)(iso1ChargeServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargeServiceType->ServiceName.charactersLen, iso1ChargeServiceType->ServiceName.characters, iso1ChargeServiceType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ChargeServiceType->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 = 162; - } 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); - iso1ChargeServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 163; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* 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); - iso1ChargeServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 163; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* 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, &iso1ChargeServiceType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ChargeServiceType->ServiceScope.charactersLen >= 2) { - iso1ChargeServiceType->ServiceScope.charactersLen = (uint16_t)(iso1ChargeServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ChargeServiceType->ServiceScope.charactersLen, iso1ChargeServiceType->ServiceScope.characters, iso1ChargeServiceType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ChargeServiceType->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 = 164; - } 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, &iso1ChargeServiceType->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 = 165; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* 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, &iso1ChargeServiceType->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 = 165; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1SupportedEnergyTransferModeType(stream, &iso1ChargeServiceType->SupportedEnergyTransferMode); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType) { - int grammarID = 34; - int done = 0; - - init_iso1IntervalType(iso1IntervalType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - int grammarID = 166; - int done = 0; - - init_iso1MeteringReceiptReqType(iso1MeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 166: - /* 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, &iso1MeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - if (iso1MeteringReceiptReqType->Id.charactersLen >= 2) { - iso1MeteringReceiptReqType->Id.charactersLen = (uint16_t)(iso1MeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1MeteringReceiptReqType->Id.charactersLen, iso1MeteringReceiptReqType->Id.characters, iso1MeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1MeteringReceiptReqType->Id_isUsed = 1u; - grammarID = 167; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MeteringReceiptReqType->SessionID.bytesLen) <= iso1MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytesLen, iso1MeteringReceiptReqType->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 = 168; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* 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, &iso1MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso1MeteringReceiptReqType->SessionID.bytesLen) <= iso1MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytesLen, iso1MeteringReceiptReqType->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 = 168; - } 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}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)); - iso1MeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso1MeteringReceiptReqType->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 = 169; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - int grammarID = 170; - int done = 0; - - init_iso1ServiceDetailResType(iso1ServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 170: - /* 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); - iso1ServiceDetailResType->ResponseCode = (iso1responseCodeType) 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 = 171; - } 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}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, &iso1ServiceDetailResType->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 = 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}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ServiceParameterListType(stream, &iso1ServiceDetailResType->ServiceParameterList); - iso1ServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType) { - int grammarID = 173; - int done = 0; - - init_iso1KeyValueType(iso1KeyValueType); - - while(!done) { - switch(grammarID) { - case 173: - /* 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_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue); - iso1KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 1: - errn = decode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue); - iso1KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 174; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 175; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 174; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 175: - /* 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_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue); - iso1KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 1: - errn = decode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue); - iso1KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 174; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 174; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyValueType->ANY.charactersLen >= 2) { - iso1KeyValueType->ANY.charactersLen = (uint16_t)(iso1KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyValueType->ANY.charactersLen, iso1KeyValueType->ANY.characters, iso1KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyValueType->ANY_isUsed = 1u; - grammarID = 175; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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-16})', derivedBy='RESTRICTION'. */ -static int decode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - int grammarID = 176; - int done = 0; - - init_iso1SelectedServiceListType(iso1SelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 176: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 177; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 177: - /* 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 (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SelectedServiceListType->SelectedService.arrayLen < iso1SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array[iso1SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType) { - int grammarID = 192; - int done = 0; - - init_iso1CableCheckResType(iso1CableCheckResType); - - while(!done) { - switch(grammarID) { - case 192: - /* 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); - iso1CableCheckResType->ResponseCode = (iso1responseCodeType) 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 = 193; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 193: - /* 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_iso1DC_EVSEStatusType(stream, &iso1CableCheckResType->DC_EVSEStatus); - grammarID = 130; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 130: - /* 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); - iso1CableCheckResType->EVSEProcessing = (iso1EVSEProcessingType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - int grammarID = 194; - int done = 0; - - init_iso1X509IssuerSerialType(iso1X509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 194: - /* 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, &iso1X509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (iso1X509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - iso1X509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(iso1X509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509IssuerSerialType->X509IssuerName.charactersLen, iso1X509IssuerSerialType->X509IssuerName.characters, iso1X509IssuerSerialType_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 = 195; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* 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 = decodeIntegerBig(stream, &iso1X509IssuerSerialType->X509SerialNumber.negative, iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE, iso1X509IssuerSerialType->X509SerialNumber.data, &iso1X509IssuerSerialType->X509SerialNumber.len); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType) { - int grammarID = 196; - int done = 0; - - init_iso1KeyInfoType(iso1KeyInfoType); - - while(!done) { - switch(grammarID) { - case 196: - /* 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, &iso1KeyInfoType->Id.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->Id.charactersLen >= 2) { - iso1KeyInfoType->Id.charactersLen = (uint16_t)(iso1KeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->Id.charactersLen, iso1KeyInfoType->Id.characters, iso1KeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->Id_isUsed = 1u; - grammarID = 197; - break; - case 1: - if (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 7: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 198: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - done = 1; - grammarID = 4; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 198; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* 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 (iso1KeyInfoType->KeyName.arrayLen < iso1KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].charactersLen, iso1KeyInfoType->KeyName.array[iso1KeyInfoType->KeyName.arrayLen].characters, iso1KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1KeyInfoType->KeyValue.arrayLen < iso1KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array[iso1KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 2: - if (iso1KeyInfoType->RetrievalMethod.arrayLen < iso1KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array[iso1KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 3: - if (iso1KeyInfoType->X509Data.arrayLen < iso1KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array[iso1KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 4: - if (iso1KeyInfoType->PGPData.arrayLen < iso1KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array[iso1KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 5: - if (iso1KeyInfoType->SPKIData.arrayLen < iso1KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array[iso1KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 6: - if (iso1KeyInfoType->MgmtData.arrayLen < iso1KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].charactersLen, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType->MgmtData.arrayLen].characters, iso1KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->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 = 198; - } 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 = 198; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso1KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso1KeyInfoType->ANY.charactersLen >= 2) { - iso1KeyInfoType->ANY.charactersLen = (uint16_t)(iso1KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1KeyInfoType->ANY.charactersLen, iso1KeyInfoType->ANY.characters, iso1KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1KeyInfoType->ANY_isUsed = 1u; - grammarID = 199; - break; - default: - errn = 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_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType) { - int grammarID = 200; - int done = 0; - - init_iso1TransformsType(iso1TransformsType); - - while(!done) { - switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1TransformsType->Transform.arrayLen < iso1TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso1TransformType(stream, &iso1TransformsType->Transform.array[iso1TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 201: - /* 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 (iso1TransformsType->Transform.arrayLen < iso1TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso1TransformType(stream, &iso1TransformsType->Transform.array[iso1TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - int grammarID = 202; - int done = 0; - - init_iso1ChargeParameterDiscoveryReqType(iso1ChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 202: - /* 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, &iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - iso1ChargeParameterDiscoveryReqType->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 = 203; - } 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); - iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) 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 = 204; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* 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); - iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) 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 = 204; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 204: - /* 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_iso1AC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->EVChargeParameter); - iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType) { - int grammarID = 205; - int done = 0; - - init_iso1PreChargeReqType(iso1PreChargeReqType); - - while(!done) { - switch(grammarID) { - case 205: - /* 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_iso1DC_EVStatusType(stream, &iso1PreChargeReqType->DC_EVStatus); - grammarID = 206; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetVoltage); - grammarID = 207; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType) { - int grammarID = 208; - int done = 0; - - init_iso1EVSEStatusType(iso1EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 208: - /* 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, &iso1EVSEStatusType->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 = 209; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* 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); - iso1EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType) { - int grammarID = 210; - int done = 0; - - init_iso1SignatureMethodType(iso1SignatureMethodType); - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->Algorithm.charactersLen >= 2) { - iso1SignatureMethodType->Algorithm.charactersLen = (uint16_t)(iso1SignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->Algorithm.charactersLen, iso1SignatureMethodType->Algorithm.characters, iso1SignatureMethodType_Algorithm_CHARACTERS_SIZE); - } 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({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, &iso1SignatureMethodType->HMACOutputLength); - iso1SignatureMethodType->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 = 116; - } 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 = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 212; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 212: - /* 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, &iso1SignatureMethodType->HMACOutputLength); - iso1SignatureMethodType->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 = 116; - } 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 = 116; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignatureMethodType->ANY.charactersLen >= 2) { - iso1SignatureMethodType->ANY.charactersLen = (uint16_t)(iso1SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignatureMethodType->ANY.charactersLen, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignatureMethodType->ANY_isUsed = 1u; - grammarID = 212; - break; - default: - errn = 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_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType) { - int grammarID = 213; - int done = 0; - - init_iso1X509DataType(iso1X509DataType); - - while(!done) { - switch(grammarID) { - case 213: - /* 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 (iso1X509DataType->X509IssuerSerial.arrayLen < iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array[iso1X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - if (iso1X509DataType->X509SKI.arrayLen < iso1X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen) <= iso1X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1X509DataType->X509SubjectName.arrayLen < iso1X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].characters, iso1X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso1X509DataType->X509Certificate.arrayLen < iso1X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen) <= iso1X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso1X509DataType->X509CRL.arrayLen < iso1X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen) <= iso1X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } 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 = 214; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 214: - /* 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 (iso1X509DataType->X509IssuerSerial.arrayLen < iso1X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array[iso1X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - if (iso1X509DataType->X509SKI.arrayLen < iso1X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen) <= iso1X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytesLen, iso1X509DataType->X509SKI.array[iso1X509DataType->X509SKI.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1X509DataType->X509SubjectName.arrayLen < iso1X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].charactersLen, iso1X509DataType->X509SubjectName.array[iso1X509DataType->X509SubjectName.arrayLen].characters, iso1X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso1X509DataType->X509Certificate.arrayLen < iso1X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen) <= iso1X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytesLen, iso1X509DataType->X509Certificate.array[iso1X509DataType->X509Certificate.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso1X509DataType->X509CRL.arrayLen < iso1X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen) <= iso1X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytesLen, iso1X509DataType->X509CRL.array[iso1X509DataType->X509CRL.arrayLen].bytes); - } - iso1X509DataType->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 = 214; - } 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 = 214; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType) { - int grammarID = 215; - int done = 0; - - init_iso1NotificationType(iso1NotificationType); - - while(!done) { - switch(grammarID) { - case 215: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode)] */ - 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); - iso1NotificationType->FaultCode = (iso1faultCodeType) 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 = 216; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), END_ELEMENT] */ - 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, &iso1NotificationType->FaultMsg.charactersLen); - if (errn == 0) { - if (iso1NotificationType->FaultMsg.charactersLen >= 2) { - iso1NotificationType->FaultMsg.charactersLen = (uint16_t)(iso1NotificationType->FaultMsg.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1NotificationType->FaultMsg.charactersLen, iso1NotificationType->FaultMsg.characters, iso1NotificationType_FaultMsg_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1NotificationType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType) { - int grammarID = 217; - int done = 0; - - init_iso1SAScheduleListType(iso1SAScheduleListType); - - while(!done) { - switch(grammarID) { - case 217: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 218; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* 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 (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SAScheduleListType->SAScheduleTuple.arrayLen < iso1SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array[iso1SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - int done = 0; - - init_iso1BodyType(iso1BodyType); - - while(!done) { - switch(grammarID) { - case 220: - /* 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_iso1AuthorizationReqType(stream, &iso1BodyType->AuthorizationReq); - iso1BodyType->AuthorizationReq_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1AuthorizationResType(stream, &iso1BodyType->AuthorizationRes); - iso1BodyType->AuthorizationRes_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1BodyBaseType(stream, &iso1BodyType->BodyElement); - iso1BodyType->BodyElement_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso1CableCheckReqType(stream, &iso1BodyType->CableCheckReq); - iso1BodyType->CableCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso1CableCheckResType(stream, &iso1BodyType->CableCheckRes); - iso1BodyType->CableCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso1CertificateInstallationReqType(stream, &iso1BodyType->CertificateInstallationReq); - iso1BodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso1CertificateInstallationResType(stream, &iso1BodyType->CertificateInstallationRes); - iso1BodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 3; - break; - case 7: - errn = decode_iso1CertificateUpdateReqType(stream, &iso1BodyType->CertificateUpdateReq); - iso1BodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 3; - break; - case 8: - errn = decode_iso1CertificateUpdateResType(stream, &iso1BodyType->CertificateUpdateRes); - iso1BodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 3; - break; - case 9: - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &iso1BodyType->ChargeParameterDiscoveryReq); - iso1BodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 10: - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &iso1BodyType->ChargeParameterDiscoveryRes); - iso1BodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 11: - errn = decode_iso1ChargingStatusReqType(stream, &iso1BodyType->ChargingStatusReq); - iso1BodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 12: - errn = decode_iso1ChargingStatusResType(stream, &iso1BodyType->ChargingStatusRes); - iso1BodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 13: - errn = decode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq); - iso1BodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 14: - errn = decode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes); - iso1BodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 15: - errn = decode_iso1MeteringReceiptReqType(stream, &iso1BodyType->MeteringReceiptReq); - iso1BodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 3; - break; - case 16: - errn = decode_iso1MeteringReceiptResType(stream, &iso1BodyType->MeteringReceiptRes); - iso1BodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 3; - break; - case 17: - errn = decode_iso1PaymentDetailsReqType(stream, &iso1BodyType->PaymentDetailsReq); - iso1BodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 3; - break; - case 18: - errn = decode_iso1PaymentDetailsResType(stream, &iso1BodyType->PaymentDetailsRes); - iso1BodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 3; - break; - case 19: - errn = decode_iso1PaymentServiceSelectionReqType(stream, &iso1BodyType->PaymentServiceSelectionReq); - iso1BodyType->PaymentServiceSelectionReq_isUsed = 1u; - grammarID = 3; - break; - case 20: - errn = decode_iso1PaymentServiceSelectionResType(stream, &iso1BodyType->PaymentServiceSelectionRes); - iso1BodyType->PaymentServiceSelectionRes_isUsed = 1u; - grammarID = 3; - break; - case 21: - errn = decode_iso1PowerDeliveryReqType(stream, &iso1BodyType->PowerDeliveryReq); - iso1BodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 3; - break; - case 22: - errn = decode_iso1PowerDeliveryResType(stream, &iso1BodyType->PowerDeliveryRes); - iso1BodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 3; - break; - case 23: - errn = decode_iso1PreChargeReqType(stream, &iso1BodyType->PreChargeReq); - iso1BodyType->PreChargeReq_isUsed = 1u; - grammarID = 3; - break; - case 24: - errn = decode_iso1PreChargeResType(stream, &iso1BodyType->PreChargeRes); - iso1BodyType->PreChargeRes_isUsed = 1u; - grammarID = 3; - break; - case 25: - errn = decode_iso1ServiceDetailReqType(stream, &iso1BodyType->ServiceDetailReq); - iso1BodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 3; - break; - case 26: - errn = decode_iso1ServiceDetailResType(stream, &iso1BodyType->ServiceDetailRes); - iso1BodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 3; - break; - case 27: - errn = decode_iso1ServiceDiscoveryReqType(stream, &iso1BodyType->ServiceDiscoveryReq); - iso1BodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 28: - errn = decode_iso1ServiceDiscoveryResType(stream, &iso1BodyType->ServiceDiscoveryRes); - iso1BodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 29: - errn = decode_iso1SessionSetupReqType(stream, &iso1BodyType->SessionSetupReq); - iso1BodyType->SessionSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 30: - errn = decode_iso1SessionSetupResType(stream, &iso1BodyType->SessionSetupRes); - iso1BodyType->SessionSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 31: - errn = decode_iso1SessionStopReqType(stream, &iso1BodyType->SessionStopReq); - iso1BodyType->SessionStopReq_isUsed = 1u; - grammarID = 3; - break; - case 32: - errn = decode_iso1SessionStopResType(stream, &iso1BodyType->SessionStopRes); - iso1BodyType->SessionStopRes_isUsed = 1u; - grammarID = 3; - break; - case 33: - errn = decode_iso1WeldingDetectionReqType(stream, &iso1BodyType->WeldingDetectionReq); - iso1BodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 3; - break; - case 34: - errn = decode_iso1WeldingDetectionResType(stream, &iso1BodyType->WeldingDetectionRes); - iso1BodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 3; - break; - case 35: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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-24})', derivedBy='RESTRICTION'. */ -static int decode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType) { - int grammarID = 221; - int done = 0; - - init_iso1ChargingProfileType(iso1ChargingProfileType); - - while(!done) { - switch(grammarID) { - case 221: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* 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 (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1ChargingProfileType->ProfileEntry.arrayLen < iso1ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array[iso1ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType) { - int grammarID = 245; - int done = 0; - - init_iso1TransformType(iso1TransformType); - - while(!done) { - switch(grammarID) { - case 245: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1TransformType->Algorithm.charactersLen >= 2) { - iso1TransformType->Algorithm.charactersLen = (uint16_t)(iso1TransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->Algorithm.charactersLen, iso1TransformType->Algorithm.characters, iso1TransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 246; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* 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 (iso1TransformType->XPath.arrayLen < iso1TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen >= 2) { - iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].characters, iso1TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->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 = 247; - } 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 = 247; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso1TransformType->ANY.charactersLen >= 2) { - iso1TransformType->ANY.charactersLen = (uint16_t)(iso1TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->ANY.charactersLen, iso1TransformType->ANY.characters, iso1TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->ANY_isUsed = 1u; - grammarID = 247; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 247: - /* 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 (iso1TransformType->XPath.arrayLen < iso1TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen >= 2) { - iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].charactersLen, iso1TransformType->XPath.array[iso1TransformType->XPath.arrayLen].characters, iso1TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->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 = 247; - } 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 = 247; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso1TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso1TransformType->ANY.charactersLen >= 2) { - iso1TransformType->ANY.charactersLen = (uint16_t)(iso1TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1TransformType->ANY.charactersLen, iso1TransformType->ANY.characters, iso1TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1TransformType->ANY_isUsed = 1u; - grammarID = 247; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - int grammarID = 248; - int done = 0; - - init_iso1SAScheduleTupleType(iso1SAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 248: - /* 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)); - iso1SAScheduleTupleType->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 = 249; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PMaxScheduleType(stream, &iso1SAScheduleTupleType->PMaxSchedule); - grammarID = 250; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* 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_iso1SalesTariffType(stream, &iso1SAScheduleTupleType->SalesTariff); - iso1SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - int grammarID = 251; - int done = 0; - - init_iso1AC_EVChargeParameterType(iso1AC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - 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, &iso1AC_EVChargeParameterType->DepartureTime); - iso1AC_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 = 252; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount); - grammarID = 253; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount); - grammarID = 253; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxVoltage); - grammarID = 254; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxCurrent); - grammarID = 255; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMinCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - int done = 0; - - init_iso1AnonType_V2G_Message(iso1AnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 256: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header); - grammarID = 257; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - int grammarID = 258; - int done = 0; - - init_iso1PaymentDetailsResType(iso1PaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 258: - /* 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); - iso1PaymentDetailsResType->ResponseCode = (iso1responseCodeType) 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 = 259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* 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, &iso1PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso1PaymentDetailsResType->GenChallenge.bytesLen) <= iso1PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PaymentDetailsResType->GenChallenge.bytesLen, iso1PaymentDetailsResType->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 = 260; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 260: - /* 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, &iso1PaymentDetailsResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 23; - int done = 0; - - init_iso1ContractSignatureEncryptedPrivateKeyType(iso1ContractSignatureEncryptedPrivateKeyType); - - while(!done) { - switch(grammarID) { - case 23: - /* 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, &iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - if (errn == 0) { - if (iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { - iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen, iso1ContractSignatureEncryptedPrivateKeyType->Id.characters, iso1ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 24; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= iso1ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - int grammarID = 261; - int done = 0; - - init_iso1PMaxScheduleEntryType(iso1PMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 261: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1PMaxScheduleEntryType->RelativeTimeInterval); - iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 262; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1PMaxScheduleEntryType->TimeInterval); - iso1PMaxScheduleEntryType->TimeInterval_isUsed = 1u; - grammarID = 262; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1PMaxScheduleEntryType->PMax); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType) { - int grammarID = 263; - int done = 0; - - init_iso1SPKIDataType(iso1SPKIDataType); - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } 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 = 265; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 265: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SPKIDataType->SPKISexp.arrayLen < iso1SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso1SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytesLen, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso1SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - int grammarID = 93; - int done = 0; - - init_iso1MeteringReceiptResType(iso1MeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 93: - /* 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); - iso1MeteringReceiptResType->ResponseCode = (iso1responseCodeType) 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 = 94; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* 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_iso1AC_EVSEStatusType(stream, &iso1MeteringReceiptResType->AC_EVSEStatus); - iso1MeteringReceiptResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1MeteringReceiptResType->DC_EVSEStatus); - iso1MeteringReceiptResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso1EVSEStatusType(stream, &iso1MeteringReceiptResType->EVSEStatus); - iso1MeteringReceiptResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType) { - int grammarID = 266; - int done = 0; - - init_iso1SessionStopReqType(iso1SessionStopReqType); - - while(!done) { - switch(grammarID) { - case 266: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1SessionStopReqType->ChargingSession = (iso1chargingSessionType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - int grammarID = 39; - int done = 0; - - init_iso1WeldingDetectionResType(iso1WeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 39: - /* 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); - iso1WeldingDetectionResType->ResponseCode = (iso1responseCodeType) 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 = 40; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 40: - /* 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_iso1DC_EVSEStatusType(stream, &iso1WeldingDetectionResType->DC_EVSEStatus); - grammarID = 41; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType) { - int grammarID = 267; - int done = 0; - - init_iso1ReferenceType(iso1ReferenceType); - - while(!done) { - switch(grammarID) { - case 267: - /* 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, &iso1ReferenceType->Id.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Id.charactersLen >= 2) { - iso1ReferenceType->Id.charactersLen = (uint16_t)(iso1ReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Id.charactersLen, iso1ReferenceType->Id.characters, iso1ReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Id_isUsed = 1u; - grammarID = 268; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Type.charactersLen >= 2) { - iso1ReferenceType->Type.charactersLen = (uint16_t)(iso1ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Type.charactersLen, iso1ReferenceType->Type.characters, iso1ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Type_isUsed = 1u; - grammarID = 269; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 3: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 4: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 268: - /* 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, &iso1ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->Type.charactersLen >= 2) { - iso1ReferenceType->Type.charactersLen = (uint16_t)(iso1ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->Type.charactersLen, iso1ReferenceType->Type.characters, iso1ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->Type_isUsed = 1u; - grammarID = 269; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 2: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 3: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* 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, &iso1ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso1ReferenceType->URI.charactersLen >= 2) { - iso1ReferenceType->URI.charactersLen = (uint16_t)(iso1ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ReferenceType->URI.charactersLen, iso1ReferenceType->URI.characters, iso1ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ReferenceType->URI_isUsed = 1u; - grammarID = 270; - break; - case 1: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 2: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 270: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1TransformsType(stream, &iso1ReferenceType->Transforms); - iso1ReferenceType->Transforms_isUsed = 1u; - grammarID = 271; - break; - case 1: - errn = decode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* 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_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod); - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (iso1ReferenceType->DigestValue.bytesLen) <= iso1ReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1ReferenceType->DigestValue.bytesLen, iso1ReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - int done = 0; - - init_iso1CurrentDemandReqType(iso1CurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 273: - /* 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_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus); - grammarID = 274; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent); - grammarID = 275; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit); - iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 1u; - grammarID = 276; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit); - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 277; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit); - iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 277; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit); - iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 278; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* 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, &iso1CurrentDemandReqType->BulkChargingComplete); - iso1CurrentDemandReqType->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 = 279; - } 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 279: - /* 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, &iso1CurrentDemandReqType->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 = 280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC); - iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 1u; - grammarID = 281; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC); - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 282; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC); - iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 282; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - int grammarID = 283; - int done = 0; - - init_iso1SalesTariffEntryType(iso1SalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 283: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1SalesTariffEntryType->RelativeTimeInterval); - iso1SalesTariffEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 284; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1SalesTariffEntryType->TimeInterval); - iso1SalesTariffEntryType->TimeInterval_isUsed = 1u; - grammarID = 284; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* 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); - 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)); - iso1SalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - iso1SalesTariffEntryType->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:2013:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 285; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 287; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffEntryType->ConsumptionCost.arrayLen < iso1SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array[iso1SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType) { - int grammarID = 288; - int done = 0; - - init_iso1EntryType(iso1EntryType); - - while(!done) { - switch(grammarID) { - case 288: - /* 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_iso1RelativeTimeIntervalType(stream, &iso1EntryType->RelativeTimeInterval); - iso1EntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso1IntervalType(stream, &iso1EntryType->TimeInterval); - iso1EntryType->TimeInterval_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - int grammarID = 289; - int done = 0; - - init_iso1SessionSetupReqType(iso1SessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 289: - /* 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, &iso1SessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (iso1SessionSetupReqType->EVCCID.bytesLen) <= iso1SessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1SessionSetupReqType->EVCCID.bytesLen, iso1SessionSetupReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType) { - int grammarID = 290; - int done = 0; - - init_iso1CostType(iso1CostType); - - while(!done) { - switch(grammarID) { - case 290: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso1CostType->costKind = (iso1costKindType) 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}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 291; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 291: - /* 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, &iso1CostType->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 = 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}amountMultiplier), 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, 3, &(uint32)); - iso1CostType->amountMultiplier = (int8_t)(uint32 -3); - iso1CostType->amountMultiplier_isUsed = 1u; - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - int grammarID = 293; - int done = 0; - - init_iso1DC_EVPowerDeliveryParameterType(iso1DC_EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 293: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DC_EVStatusType(stream, &iso1DC_EVPowerDeliveryParameterType->DC_EVStatus); - grammarID = 294; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 294: - /* 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, &iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete); - iso1DC_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 = 295; - } 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, &iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 295: - /* 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, &iso1DC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - int grammarID = 296; - int done = 0; - - init_iso1RetrievalMethodType(iso1RetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 296: - /* 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, &iso1RetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->Type.charactersLen >= 2) { - iso1RetrievalMethodType->Type.charactersLen = (uint16_t)(iso1RetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->Type.charactersLen, iso1RetrievalMethodType->Type.characters, iso1RetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->Type_isUsed = 1u; - grammarID = 297; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->URI.charactersLen >= 2) { - iso1RetrievalMethodType->URI.charactersLen = (uint16_t)(iso1RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->URI.charactersLen, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->URI_isUsed = 1u; - grammarID = 298; - break; - case 2: - errn = decode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 297: - /* 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, &iso1RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso1RetrievalMethodType->URI.charactersLen >= 2) { - iso1RetrievalMethodType->URI.charactersLen = (uint16_t)(iso1RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1RetrievalMethodType->URI.charactersLen, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1RetrievalMethodType->URI_isUsed = 1u; - grammarID = 298; - break; - case 1: - errn = decode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 298: - /* 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_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms); - iso1RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - int grammarID = 299; - int done = 0; - - init_iso1CertificateUpdateResType(iso1CertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 299: - /* 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); - iso1CertificateUpdateResType->ResponseCode = (iso1responseCodeType) 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 = 300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 301; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->ContractSignatureCertChain); - grammarID = 302; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateUpdateResType->ContractSignatureEncryptedPrivateKey); - grammarID = 303; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateUpdateResType->DHpublickey); - grammarID = 304; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1EMAIDType(stream, &iso1CertificateUpdateResType->eMAID); - grammarID = 305; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 305: - /* 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, &iso1CertificateUpdateResType->RetryCounter); - iso1CertificateUpdateResType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - int grammarID = 306; - int done = 0; - - init_iso1CertificateInstallationResType(iso1CertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 306: - /* 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); - iso1CertificateInstallationResType->ResponseCode = (iso1responseCodeType) 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 = 307; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 308; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->ContractSignatureCertChain); - grammarID = 309; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateInstallationResType->ContractSignatureEncryptedPrivateKey); - grammarID = 310; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateInstallationResType->DHpublickey); - grammarID = 311; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1EMAIDType(stream, &iso1CertificateInstallationResType->eMAID); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='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_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - int grammarID = 312; - int done = 0; - - init_iso1CanonicalizationMethodType(iso1CanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 312: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->Algorithm.charactersLen >= 2) { - iso1CanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->Algorithm.charactersLen, iso1CanonicalizationMethodType->Algorithm.characters, iso1CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 115; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso1CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->ANY.charactersLen, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso1CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CanonicalizationMethodType->ANY.charactersLen, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_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_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - int grammarID = 313; - int done = 0; - - init_iso1WeldingDetectionReqType(iso1WeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 313: - /* 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_iso1DC_EVStatusType(stream, &iso1WeldingDetectionReqType->DC_EVStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - int grammarID = 314; - int done = 0; - - init_iso1DC_EVStatusType(iso1DC_EVStatusType); - - while(!done) { - switch(grammarID) { - case 314: - /* 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, &iso1DC_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 = 315; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode)] */ - 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); - iso1DC_EVStatusType->EVErrorCode = (iso1DC_EVErrorCodeType) 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 316; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC)] */ - 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, 7, &(uint32)); - iso1DC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); - } else { - /* Second level event (e.g., 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) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - int done = 0; - - init_iso1CurrentDemandResType(iso1CurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 317: - /* 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); - iso1CurrentDemandResType->ResponseCode = (iso1responseCodeType) 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 = 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:2013:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus); - grammarID = 319; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage); - grammarID = 320; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 320: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent); - grammarID = 321; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->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:2013:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 322; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->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:2013:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 323; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 323: - /* 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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandResType->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:2013:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 324; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 324: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit); - iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 1u; - grammarID = 325; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit); - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 326; - break; - case 2: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 325: - /* 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)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit); - iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 326; - break; - case 1: - errn = decode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 326: - /* 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_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit); - iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 327; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso1CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso1CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso1CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1CurrentDemandResType->EVSEID.charactersLen, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType_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:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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)); - iso1CurrentDemandResType->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 = 329; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo); - iso1CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 330; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso1CurrentDemandResType->ReceiptRequired); - iso1CurrentDemandResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &iso1CurrentDemandResType->ReceiptRequired); - iso1CurrentDemandResType->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}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType) { - int grammarID = 331; - int done = 0; - - init_iso1ServiceType(iso1ServiceType); - - while(!done) { - switch(grammarID) { - case 331: - /* 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, &iso1ServiceType->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 = 332; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 332: - /* 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, &iso1ServiceType->ServiceName.charactersLen); - if (errn == 0) { - if (iso1ServiceType->ServiceName.charactersLen >= 2) { - iso1ServiceType->ServiceName.charactersLen = (uint16_t)(iso1ServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceType->ServiceName.charactersLen, iso1ServiceType->ServiceName.characters, iso1ServiceType_ServiceName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceType->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 = 333; - } 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); - iso1ServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 333: - /* 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); - iso1ServiceType->ServiceCategory = (iso1serviceCategoryType) 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 = 334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 334: - /* 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, &iso1ServiceType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ServiceType->ServiceScope.charactersLen >= 2) { - iso1ServiceType->ServiceScope.charactersLen = (uint16_t)(iso1ServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceType->ServiceScope.charactersLen, iso1ServiceType->ServiceScope.characters, iso1ServiceType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceType->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 = 335; - } 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, &iso1ServiceType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 335: - /* 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, &iso1ServiceType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - int grammarID = 336; - int done = 0; - - init_iso1ServiceDiscoveryReqType(iso1ServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 336: - /* 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: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1ServiceDiscoveryReqType->ServiceScope.charactersLen); - if (errn == 0) { - if (iso1ServiceDiscoveryReqType->ServiceScope.charactersLen >= 2) { - iso1ServiceDiscoveryReqType->ServiceScope.charactersLen = (uint16_t)(iso1ServiceDiscoveryReqType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1ServiceDiscoveryReqType->ServiceScope.charactersLen, iso1ServiceDiscoveryReqType->ServiceScope.characters, iso1ServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1ServiceDiscoveryReqType->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) ? */ - 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: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso1ServiceDiscoveryReqType->ServiceCategory = (iso1serviceCategoryType) uint32; - iso1ServiceDiscoveryReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 337: - /* 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); - iso1ServiceDiscoveryReqType->ServiceCategory = (iso1serviceCategoryType) uint32; - iso1ServiceDiscoveryReqType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - int grammarID = 338; - int done = 0; - - init_iso1AC_EVSEChargeParameterType(iso1AC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 338: - /* 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_iso1AC_EVSEStatusType(stream, &iso1AC_EVSEChargeParameterType->AC_EVSEStatus); - grammarID = 339; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSENominalVoltage); - grammarID = 340; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSEMaxCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType) { - int grammarID = 313; - int done = 0; - - init_iso1CableCheckReqType(iso1CableCheckReqType); - - while(!done) { - switch(grammarID) { - case 313: - /* 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_iso1DC_EVStatusType(stream, &iso1CableCheckReqType->DC_EVStatus); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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 decode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType) { - int grammarID = 341; - int done = 0; - - init_iso1SelectedServiceType(iso1SelectedServiceType); - - while(!done) { - switch(grammarID) { - case 341: - /* 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, &iso1SelectedServiceType->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 = 342; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), 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, &iso1SelectedServiceType->ParameterSetID); - iso1SelectedServiceType->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - int grammarID = 343; - int done = 0; - - init_iso1AC_EVSEStatusType(iso1AC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 343: - /* 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, &iso1AC_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 = 344; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 344: - /* 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); - iso1AC_EVSEStatusType->EVSENotification = (iso1EVSENotificationType) 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 = 345; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD)] */ - 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, &iso1AC_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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType) { - int grammarID = 346; - int done = 0; - - init_iso1SalesTariffType(iso1SalesTariffType); - - while(!done) { - switch(grammarID) { - case 346: - /* 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, &iso1SalesTariffType->Id.charactersLen); - if (errn == 0) { - if (iso1SalesTariffType->Id.charactersLen >= 2) { - iso1SalesTariffType->Id.charactersLen = (uint16_t)(iso1SalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SalesTariffType->Id.charactersLen, iso1SalesTariffType->Id.characters, iso1SalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SalesTariffType->Id_isUsed = 1u; - grammarID = 347; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->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 = 348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 347: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->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 = 348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 348: - /* 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); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1SalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (iso1SalesTariffType->SalesTariffDescription.charactersLen >= 2) { - iso1SalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(iso1SalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SalesTariffType->SalesTariffDescription.charactersLen, iso1SalesTariffType->SalesTariffDescription.characters, iso1SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SalesTariffType->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:MsgDataTypes}SalesTariffDescription) ? */ - 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: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso1SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso1SalesTariffType->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:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 350; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013: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)); - iso1SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso1SalesTariffType->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:MsgDataTypes}NumEPriceLevels) ? */ - 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: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SalesTariffType->SalesTariffEntry.arrayLen < iso1SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array[iso1SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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 decode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - int grammarID = 352; - int done = 0; - - init_iso1PaymentServiceSelectionReqType(iso1PaymentServiceSelectionReqType); - - while(!done) { - switch(grammarID) { - case 352: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - iso1PaymentServiceSelectionReqType->SelectedPaymentOption = (iso1paymentOptionType) 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}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 353; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso1SelectedServiceListType(stream, &iso1PaymentServiceSelectionReqType->SelectedServiceList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - int grammarID = 354; - int done = 0; - - init_iso1SignaturePropertiesType(iso1SignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 354: - /* 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, &iso1SignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertiesType->Id.charactersLen >= 2) { - iso1SignaturePropertiesType->Id.charactersLen = (uint16_t)(iso1SignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertiesType->Id.charactersLen, iso1SignaturePropertiesType->Id.characters, iso1SignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertiesType->Id_isUsed = 1u; - grammarID = 355; - break; - case 1: - if (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 355: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 356: - /* 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 (iso1SignaturePropertiesType->SignatureProperty.arrayLen < iso1SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array[iso1SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - 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_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType) { - int grammarID = 34; - int done = 0; - - init_iso1BodyBaseType(iso1BodyBaseType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - int grammarID = 357; - int done = 0; - - init_iso1SupportedEnergyTransferModeType(iso1SupportedEnergyTransferModeType); - - while(!done) { - switch(grammarID) { - case 357: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 358; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 358: - /* 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 (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 359; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 360; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 361; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 362; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < iso1SupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (iso1EnergyTransferModeType) uint32; - iso1SupportedEnergyTransferModeType->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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - int grammarID = 34; - int done = 0; - - init_iso1ChargingStatusReqType(iso1ChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2: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_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - int grammarID = 122; - int done = 0; - - init_iso1PaymentServiceSelectionResType(iso1PaymentServiceSelectionResType); - - while(!done) { - switch(grammarID) { - case 122: - /* 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); - iso1PaymentServiceSelectionResType->ResponseCode = (iso1responseCodeType) 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 = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,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_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType) { - int grammarID = 312; - int done = 0; - - init_iso1DigestMethodType(iso1DigestMethodType); - - while(!done) { - switch(grammarID) { - case 312: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->Algorithm.charactersLen >= 2) { - iso1DigestMethodType->Algorithm.charactersLen = (uint16_t)(iso1DigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->Algorithm.charactersLen, iso1DigestMethodType->Algorithm.characters, iso1DigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 115; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->ANY.charactersLen >= 2) { - iso1DigestMethodType->ANY.charactersLen = (uint16_t)(iso1DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->ANY.charactersLen, iso1DigestMethodType->ANY.characters, iso1DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1DigestMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso1DigestMethodType->ANY.charactersLen >= 2) { - iso1DigestMethodType->ANY.charactersLen = (uint16_t)(iso1DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1DigestMethodType->ANY.charactersLen, iso1DigestMethodType->ANY.characters, iso1DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1DigestMethodType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - int grammarID = 363; - int done = 0; - - init_iso1SignaturePropertyType(iso1SignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 363: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Id.charactersLen >= 2) { - iso1SignaturePropertyType->Id.charactersLen = (uint16_t)(iso1SignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Id.charactersLen, iso1SignaturePropertyType->Id.characters, iso1SignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->Id_isUsed = 1u; - grammarID = 364; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Target.charactersLen >= 2) { - iso1SignaturePropertyType->Target.charactersLen = (uint16_t)(iso1SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Target.charactersLen, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 365; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 364: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->Target.charactersLen >= 2) { - iso1SignaturePropertyType->Target.charactersLen = (uint16_t)(iso1SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->Target.charactersLen, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 365; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 365: - /* 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 = 116; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 366; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 116; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 366: - /* 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 = 116; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso1SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso1SignaturePropertyType->ANY.charactersLen >= 2) { - iso1SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso1SignaturePropertyType->ANY.charactersLen, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso1SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 366; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType) { - int grammarID = 367; - int done = 0; - - init_iso1PGPDataType(iso1PGPDataType); - - while(!done) { - switch(grammarID) { - case 367: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyID.bytesLen) <= iso1PGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyID.bytesLen, iso1PGPDataType->PGPKeyID.bytes); - } - iso1PGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 368; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyPacket.bytesLen) <= iso1PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytesLen, iso1PGPDataType->PGPKeyPacket.bytes); - } - iso1PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 369; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 368: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso1PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso1PGPDataType->PGPKeyPacket.bytesLen) <= iso1PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytesLen, iso1PGPDataType->PGPKeyPacket.bytes); - } - iso1PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 369; - } 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 = 369; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 369: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -int decode_iso1EXISchemaInformedElementFragmentGrammar(bitstream_t* stream, struct iso1EXISchemaInformedElementFragmentGrammar* exiElementFrag) { - int grammarID = 370; - int done = 0; - - init_iso1EXISchemaInformedElementFragmentGrammar(exiElementFrag); - while(!done) { - switch(grammarID) { - case 370: - /* First(xsi:type)(xsi:nil)StartTag[ATTRIBUTE[STRING](Algorithm), ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), ATTRIBUTE[STRING](MimeType), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name), ATTRIBUTE[STRING](Target), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), ATTRIBUTE_GENERIC, 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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 4: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->Id.charactersLen); - if (errn == 0) { - if (exiElementFrag->Id.charactersLen >= 2) { - exiElementFrag->Id.charactersLen = (uint16_t)(exiElementFrag->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->Id.charactersLen, exiElementFrag->Id.characters, iso1exiElementFrag_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->Id_isUsed = 1u; - grammarID = 370; - break; - case 255: - done = 1; - grammarID = 4; - break; - case 256: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->CHARACTERS_GENERIC.charactersLen); - if (errn == 0) { - if (exiElementFrag->CHARACTERS_GENERIC.charactersLen >= 2) { - exiElementFrag->CHARACTERS_GENERIC.charactersLen = (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.charactersLen, exiElementFrag->CHARACTERS_GENERIC.characters, iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->CHARACTERS_GENERIC_isUsed = 1u; - grammarID = 371; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 371: - /* Element[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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 244: - done = 1; - grammarID = 4; - break; - case 245: - errn = decodeUnsignedInteger16(stream, &exiElementFrag->CHARACTERS_GENERIC.charactersLen); - if (errn == 0) { - if (exiElementFrag->CHARACTERS_GENERIC.charactersLen >= 2) { - exiElementFrag->CHARACTERS_GENERIC.charactersLen = (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.charactersLen, exiElementFrag->CHARACTERS_GENERIC.characters, iso1exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiElementFrag->CHARACTERS_GENERIC_isUsed = 1u; - grammarID = 371; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* 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] */ - init_iso1EXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso1AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso1AC_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_iso1AC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus); - exiDoc->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = decode_iso1AuthorizationReqType(stream, &exiDoc->AuthorizationReq); - exiDoc->AuthorizationReq_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = decode_iso1AuthorizationResType(stream, &exiDoc->AuthorizationRes); - exiDoc->AuthorizationRes_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = decode_iso1BodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_iso1CableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = decode_iso1CableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso1CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = decode_iso1CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = decode_iso1CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = decode_iso1CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = decode_iso1CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = decode_iso1ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = decode_iso1ChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = decode_iso1CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = decode_iso1CurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter); - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_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_iso1DC_EVStatusType(stream, &exiDoc->DC_EVStatus); - exiDoc->DC_EVStatus_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso1DSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso1DigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= iso1EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_iso1EVChargeParameterType(stream, &exiDoc->EVChargeParameter); - exiDoc->EVChargeParameter_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_iso1EVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter); - exiDoc->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_iso1EVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter); - exiDoc->EVSEChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = decode_iso1EVSEStatusType(stream, &exiDoc->EVSEStatus); - exiDoc->EVSEStatus_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_iso1EVStatusType(stream, &exiDoc->EVStatus); - exiDoc->EVStatus_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = decode_iso1EntryType(stream, &exiDoc->Entry); - exiDoc->Entry_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso1KeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, iso1EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso1KeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso1ManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = decode_iso1MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_iso1MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, iso1EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso1ObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso1PGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso1PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = decode_iso1PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = decode_iso1PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso1PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); - exiDoc->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso1PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); - exiDoc->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = decode_iso1PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = decode_iso1PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = decode_iso1PreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = decode_iso1PreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso1RSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso1ReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso1RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso1RetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = decode_iso1SAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_iso1SASchedulesType(stream, &exiDoc->SASchedules); - exiDoc->SASchedules_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso1SPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso1SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = decode_iso1ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = decode_iso1ServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso1ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso1ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = decode_iso1SessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = decode_iso1SessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = decode_iso1SessionStopReqType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_iso1SessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso1SignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso1SignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso1SignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso1SignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso1SignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso1SignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_iso1IntervalType(stream, &exiDoc->TimeInterval); - exiDoc->TimeInterval_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso1TransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso1TransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = decode_iso1AnonType_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_iso1WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = decode_iso1WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso1X509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* 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] */ - init_iso1EXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso1AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso1AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus); - exiFrag->AC_EVSEStatus_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = decode_iso1AuthorizationReqType(stream, &exiFrag->AuthorizationReq); - exiFrag->AuthorizationReq_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = decode_iso1AuthorizationResType(stream, &exiFrag->AuthorizationRes); - exiFrag->AuthorizationRes_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ - errn = decode_iso1BodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = decode_iso1BodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_iso1CableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = decode_iso1CableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso1CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= iso1EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = decode_iso1CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = decode_iso1CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = decode_iso1CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = decode_iso1CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso1ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso1ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ChargeProgress = (iso1chargeProgressType) uint32; - exiFrag->ChargeProgress_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService) */ - errn = decode_iso1ChargeServiceType(stream, &exiFrag->ChargeService); - exiFrag->ChargeService_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}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 24: - /* START_ELEMENT({urn:iso:15118:2:2013: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 25: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ - errn = decode_iso1ChargingProfileType(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_iso1PhysicalValueType(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) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->ChargingSession = (iso1chargingSessionType) uint32; - exiFrag->ChargingSession_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = decode_iso1ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = decode_iso1ChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ - errn = decode_iso1ConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ - errn = decode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey); - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ - errn = decode_iso1CostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = decode_iso1CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = decode_iso1CurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso1DC_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_iso1DC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter); - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso1DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus); - exiFrag->DC_EVSEStatus_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus); - exiFrag->DC_EVStatus_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ - errn = decode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey); - exiFrag->DHpublickey_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso1DSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 48: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso1DigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= iso1EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EAmount); - exiFrag->EAmount_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= iso1EXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_iso1EVChargeParameterType(stream, &exiFrag->EVChargeParameter); - exiFrag->EVChargeParameter_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVEnergyCapacity); - exiFrag->EVEnergyCapacity_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest) */ - errn = decode_iso1PhysicalValueType(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 = (iso1DC_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_iso1PhysicalValueType(stream, &exiFrag->EVMaxCurrent); - exiFrag->EVMaxCurrent_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaxVoltage); - exiFrag->EVMaxVoltage_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit); - exiFrag->EVMaximumCurrentLimit_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit); - exiFrag->EVMaximumPowerLimit_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit); - exiFrag->EVMaximumVoltageLimit_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMinCurrent); - exiFrag->EVMinCurrent_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_iso1EVPowerDeliveryParameterType(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_iso1EVSEChargeParameterType(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_iso1PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen); - if (errn == 0) { - if (exiFrag->EVSEID.charactersLen >= 2) { - exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, iso1EXIFragment_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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 = (iso1isolationLevelType) 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 = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent); - exiFrag->EVSEMaxCurrent_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit); - exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit); - exiFrag->EVSEMaximumPowerLimit_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit); - exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit); - exiFrag->EVSEMinimumCurrentLimit_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit); - exiFrag->EVSEMinimumVoltageLimit_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSENominalVoltage); - exiFrag->EVSENominalVoltage_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSENotification = (iso1EVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_iso1PhysicalValueType(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; - } - } - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEProcessing = (iso1EVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = decode_iso1EVSEStatusType(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 = (iso1DC_EVSEStatusCodeType) uint32; - exiFrag->EVSEStatusCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp); - exiFrag->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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; - } - } - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_iso1EVStatusType(stream, &exiFrag->EVStatus); - exiFrag->EVStatus_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->EnergyTransferMode = (iso1EnergyTransferModeType) uint32; - exiFrag->EnergyTransferMode_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_iso1EntryType(stream, &exiFrag->Entry); - exiFrag->Entry_isUsed = 1u; - break; - case 101: - /* 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) <= iso1EXIFragment_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; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FaultCode = (iso1faultCodeType) uint32; - exiFrag->FaultCode_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) { - 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, iso1EXIFragment_FaultMsg_CHARACTERS_SIZE); - } 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; - } - } - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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; - } - } - break; - case 106: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= iso1EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen); - if (errn == 0) { - errn = (exiFrag->GenChallenge.bytesLen) <= iso1EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes); - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 108: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ - errn = decode_iso1MessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 110: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= iso1EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 111: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso1KeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, iso1EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso1KeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 115: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso1ManifestType(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]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MaxEntriesSAScheduleTuple); - exiFrag->MaxEntriesSAScheduleTuple_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) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, iso1EXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ - errn = decode_iso1MeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ - /* 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; - } 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) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = decode_iso1MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_iso1MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, iso1EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 124: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= iso1EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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_iso1NotificationType(stream, &exiFrag->Notification); - exiFrag->Notification_isUsed = 1u; - break; - case 127: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= iso1EXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 130: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso1ObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 131: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= iso1EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 132: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso1PGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 133: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= iso1EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 134: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= iso1EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ - errn = decode_iso1PMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso1PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ - errn = decode_iso1ParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ - errn = decode_iso1ParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = decode_iso1PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = decode_iso1PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (iso1paymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ - errn = decode_iso1PaymentOptionListType(stream, &exiFrag->PaymentOptionList); - exiFrag->PaymentOptionList_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso1PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); - exiFrag->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso1PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); - exiFrag->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= iso1EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = decode_iso1PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = decode_iso1PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = decode_iso1PreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = decode_iso1PreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = decode_iso1ProfileEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 153: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= iso1EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 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: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso1RSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 156: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 157: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso1ReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso1RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 159: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC); - exiFrag->RemainingTimeToBulkSoC_isUsed = 1u; - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC); - exiFrag->RemainingTimeToFullSoC_isUsed = 1u; - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->RequestedEnergyTransferMode = (iso1EnergyTransferModeType) uint32; - exiFrag->RequestedEnergyTransferMode_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) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (iso1responseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 163: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso1RetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 164: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 165: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ - errn = decode_iso1X509IssuerSerialType(stream, &exiFrag->RootCertificateID); - exiFrag->RootCertificateID_isUsed = 1u; - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ - errn = decode_iso1CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain); - exiFrag->SAProvisioningCertificateChain_isUsed = 1u; - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = decode_iso1SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 168: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ - errn = decode_iso1SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 169: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 170: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_iso1SASchedulesType(stream, &exiFrag->SASchedules); - exiFrag->SASchedules_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso1SPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= iso1EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ - errn = decode_iso1SalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, iso1EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso1SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SalesTariffID = (uint8_t)(uint32 + 1); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 178: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= iso1EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (iso1paymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ - errn = decode_iso1SelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = decode_iso1SelectedServiceListType(stream, &exiFrag->SelectedServiceList); - exiFrag->SelectedServiceList_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ - errn = decode_iso1ServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32; - exiFrag->ServiceCategory_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = decode_iso1ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = decode_iso1ServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso1ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso1ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ - errn = decode_iso1ServiceListType(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) { - 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, iso1EXIFragment_ServiceName_CHARACTERS_SIZE); - } 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) */ - errn = decode_iso1ServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 194: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, iso1EXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen); - if (errn == 0) { - if (exiFrag->ServiceScope.charactersLen >= 2) { - exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, iso1EXIFragment_ServiceScope_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceScope_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso1EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso1EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = decode_iso1SessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = decode_iso1SessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = decode_iso1SessionStopReqType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_iso1SessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= iso1EXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 203: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso1SignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 204: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso1SignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso1SignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 206: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso1SignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso1SignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso1SignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 209: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ - errn = decode_iso1SubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 210: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = decode_iso1SupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode); - exiFrag->SupportedEnergyTransferMode_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 212: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_iso1IntervalType(stream, &exiFrag->TimeInterval); - exiFrag->TimeInterval_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso1TransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso1TransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->Unit = (iso1unitSymbolType) uint32; - exiFrag->Unit_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) */ - errn = decode_iso1AnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = decode_iso1WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = decode_iso1WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= iso1EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 221: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= iso1EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 222: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso1X509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 223: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, iso1EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 224: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_iso1X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 225: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= iso1EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 226: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 227: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, iso1EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 228: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, iso1EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= iso1EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->amount); - exiFrag->amount_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]] */ - 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; - } 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) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (iso1costKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - errn = decode_iso1EXISchemaInformedElementFragmentGrammar(stream, &exiFrag->eMAID); - exiFrag->eMAID_isUsed = 1u; - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 238: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 239: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 241: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ - errn = decode_iso1PhysicalValueType(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, iso1EXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (eventCode != 244) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/src/iso1/iso1EXIDatatypesDecoder.h b/src/iso1/iso1EXIDatatypesDecoder.h deleted file mode 100644 index 4895def..0000000 --- a/src/iso1/iso1EXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_iso1_DATATYPES_DECODER_H -#define EXI_iso1_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "iso1EXIDatatypes.h" - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc); - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso1/iso1EXIDatatypesEncoder.c b/src/iso1/iso1EXIDatatypesEncoder.c deleted file mode 100644 index 0a0107e..0000000 --- a/src/iso1/iso1EXIDatatypesEncoder.c +++ /dev/null @@ -1,14591 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso1EXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "iso1EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso1_DATATYPES_ENCODER_C -#define EXI_iso1_DATATYPES_ENCODER_C - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType); -static int encode_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType); -static int encode_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType); -static int encode_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType); -static int encode_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType); -static int encode_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType); -static int encode_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType); -static int encode_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType); -static int encode_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType); -static int encode_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType); -static int encode_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType); -static int encode_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType); -static int encode_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType); -static int encode_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType); -static int encode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType); -static int encode_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType); -static int encode_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType); -static int encode_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType); -static int encode_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType); -static int encode_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType); -static int encode_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType); -static int encode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType); -static int encode_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType); -static int encode_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType); -static int encode_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType); -static int encode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType); -static int encode_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType); -static int encode_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType); -static int encode_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType); -static int encode_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType); -static int encode_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType); -static int encode_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType); -static int encode_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType); -static int encode_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType); -static int encode_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType); -static int encode_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType); -static int encode_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType); -static int encode_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType); -static int encode_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType); -static int encode_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType); -static int encode_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType); -static int encode_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType); -static int encode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType); -static int encode_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType); -static int encode_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType); -static int encode_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType); -static int encode_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType); -static int encode_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType); -static int encode_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType); -static int encode_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType); -static int encode_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType); -static int encode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType); -static int encode_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType); -static int encode_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType); -static int encode_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType); -static int encode_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType); -static int encode_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType); -static int encode_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType); -static int encode_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType); -static int encode_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType); -static int encode_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType); -static int encode_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType); -static int encode_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType); -static int encode_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType); -static int encode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType); -static int encode_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType); -static int encode_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType); -static int encode_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType); -static int encode_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message); -static int encode_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType); -static int encode_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType); -static int encode_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType); -static int encode_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType); -static int encode_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType); -static int encode_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType); -static int encode_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType); -static int encode_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType); -static int encode_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType); -static int encode_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType); -static int encode_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType); -static int encode_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType); -static int encode_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType); -static int encode_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType); -static int encode_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType); -static int encode_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType); -static int encode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType); -static int encode_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType); -static int encode_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType); -static int encode_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType); -static int encode_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType); -static int encode_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType); -static int encode_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType); -static int encode_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType); -static int encode_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType); -static int encode_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType); -static int encode_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType); -static int encode_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType); -static int encode_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType); -static int encode_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType); -static int encode_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType); -static int encode_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType); -static int encode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType); -static int encode_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType); -static int encode_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType); -static int encode_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType); -static int encode_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType); - - - /* 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_iso1MessageHeaderType(bitstream_t* stream, struct iso1MessageHeaderType* iso1MessageHeaderType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* 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)(iso1MessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MessageHeaderType->SessionID.bytes, iso1MessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso1MessageHeaderType->Notification_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1NotificationType(stream, &iso1MessageHeaderType->Notification ); - } - grammarID = 2; - } else if ( iso1MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso1MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &iso1MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso1SignatureType(bitstream_t* stream, struct iso1SignatureType* iso1SignatureType) { - int grammarID = 5; - int done = 0; - - unsigned int iso1SignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( iso1SignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureType->Id.characters, iso1SignatureType->Id.charactersLen); - } - } - grammarID = 6; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo ); - } - grammarID = 7; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &iso1SignatureType->SignedInfo ); - } - grammarID = 7; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &iso1SignatureType->SignatureValue ); - } - grammarID = 8; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( iso1SignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &iso1SignatureType->KeyInfo ); - } - grammarID = 9; - } else if (iso1SignatureType_Object_currArrayIndex < iso1SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &iso1SignatureType->Object.array [iso1SignatureType_Object_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (iso1SignatureType_Object_currArrayIndex < iso1SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &iso1SignatureType->Object.array [iso1SignatureType_Object_currArrayIndex++]); - } - grammarID = 9; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PowerDeliveryReqType(bitstream_t* stream, struct iso1PowerDeliveryReqType* iso1PowerDeliveryReqType) { - int grammarID = 10; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 10: - /* 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, iso1PowerDeliveryReqType->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* 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)(iso1PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* 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}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( iso1PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1ChargingProfileType(stream, &iso1PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 13; - } else if ( iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &iso1PowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ParameterType(bitstream_t* stream, struct iso1ParameterType* iso1ParameterType) { - int grammarID = 14; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 14: - /* 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)(iso1ParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ParameterType->Name.characters, iso1ParameterType->Name.charactersLen); - } - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* 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 ( iso1ParameterType->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, iso1ParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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)(iso1ParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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, iso1ParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->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, iso1ParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso1ParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ParameterType->physicalValue ); - } - grammarID = 3; - } else if ( iso1ParameterType->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)(iso1ParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ParameterType->stringValue.characters, iso1ParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateInstallationReqType(bitstream_t* stream, struct iso1CertificateInstallationReqType* iso1CertificateInstallationReqType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* 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)(iso1CertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateInstallationReqType->Id.characters, iso1CertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* 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)(iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateInstallationReqType->OEMProvisioningCert.bytes, iso1CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* 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}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionSetupResType(bitstream_t* stream, struct iso1SessionSetupResType* iso1SessionSetupResType) { - int grammarID = 19; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 19: - /* 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, iso1SessionSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* 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)(iso1SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SessionSetupResType->EVSEID.characters, iso1SessionSetupResType->EVSEID.charactersLen); - } - /* 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:MsgBody}EVSETimeStamp), END_ELEMENT] */ - if ( iso1SessionSetupResType->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, iso1SessionSetupResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVChargeParameterType(bitstream_t* stream, struct iso1EVChargeParameterType* iso1EVChargeParameterType) { - int grammarID = 22; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 22: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), END_ELEMENT] */ - if ( iso1EVChargeParameterType->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, iso1EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DiffieHellmanPublickeyType(bitstream_t* stream, struct iso1DiffieHellmanPublickeyType* iso1DiffieHellmanPublickeyType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* 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)(iso1DiffieHellmanPublickeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DiffieHellmanPublickeyType->Id.characters, iso1DiffieHellmanPublickeyType->Id.charactersLen); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DiffieHellmanPublickeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DiffieHellmanPublickeyType->CONTENT.bytes, iso1DiffieHellmanPublickeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDiscoveryResType(bitstream_t* stream, struct iso1ServiceDiscoveryResType* iso1ServiceDiscoveryResType) { - int grammarID = 25; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 25: - /* 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, iso1ServiceDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PaymentOptionListType(stream, &iso1ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ChargeServiceType(stream, &iso1ServiceDiscoveryResType->ChargeService ); - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), END_ELEMENT] */ - if ( iso1ServiceDiscoveryResType->ServiceList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceListType(stream, &iso1ServiceDiscoveryResType->ServiceList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceParameterListType(bitstream_t* stream, struct iso1ServiceParameterListType* iso1ServiceParameterListType) { - int grammarID = 29; - int done = 0; - - unsigned int iso1ServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ - if (iso1ServiceParameterListType_ParameterSet_currArrayIndex < iso1ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array [iso1ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso1ServiceParameterListType_ParameterSet_currArrayIndex < iso1ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &iso1ServiceParameterListType->ParameterSet.array [iso1ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 30; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateChainType(bitstream_t* stream, struct iso1CertificateChainType* iso1CertificateChainType) { - int grammarID = 31; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if ( iso1CertificateChainType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CertificateChainType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateChainType->Id.characters, iso1CertificateChainType->Id.charactersLen); - } - } - grammarID = 32; - } 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)(iso1CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateChainType->Certificate.bytes, iso1CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* 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)(iso1CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1CertificateChainType->Certificate.bytes, iso1CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( iso1CertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SubCertificatesType(stream, &iso1CertificateChainType->SubCertificates ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SASchedulesType(bitstream_t* stream, struct iso1SASchedulesType* iso1SASchedulesType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_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_iso1DC_EVSEStatusType(bitstream_t* stream, struct iso1DC_EVSEStatusType* iso1DC_EVSEStatusType) { - int grammarID = 35; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 35: - /* 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, iso1DC_EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* 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, iso1DC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 37; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - if ( iso1DC_EVSEStatusType->EVSEIsolationStatus_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, iso1DC_EVSEStatusType->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 38; - } 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, iso1DC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 38: - /* 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, iso1DC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PreChargeResType(bitstream_t* stream, struct iso1PreChargeResType* iso1PreChargeResType) { - int grammarID = 39; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 39: - /* 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, iso1PreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1PreChargeResType->DC_EVSEStatus ); - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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-16})', derivedBy='RESTRICTION'. */ -static int encode_iso1ParameterSetType(bitstream_t* stream, struct iso1ParameterSetType* iso1ParameterSetType) { - int grammarID = 42; - int done = 0; - - unsigned int iso1ParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 42: - /* 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, iso1ParameterSetType->ParameterSetID); - /* 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}Parameter)] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 45; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 46; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 46: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 47; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 48; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 49; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 50; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 51; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 52; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 53; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 54; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 54: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 55; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 56; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 57; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso1ParameterSetType_Parameter_currArrayIndex < iso1ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &iso1ParameterSetType->Parameter.array [iso1ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDetailReqType(bitstream_t* stream, struct iso1ServiceDetailReqType* iso1ServiceDetailReqType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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, iso1ServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1RelativeTimeIntervalType(bitstream_t* stream, struct iso1RelativeTimeIntervalType* iso1RelativeTimeIntervalType) { - int grammarID = 60; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 60: - /* 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, iso1RelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 61; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), END_ELEMENT] */ - if ( iso1RelativeTimeIntervalType->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, iso1RelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso1SignedInfoType(bitstream_t* stream, struct iso1SignedInfoType* iso1SignedInfoType) { - int grammarID = 62; - int done = 0; - - unsigned int iso1SignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( iso1SignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignedInfoType->Id.characters, iso1SignedInfoType->Id.charactersLen); - } - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &iso1SignedInfoType->CanonicalizationMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &iso1SignedInfoType->SignatureMethod ); - } - grammarID = 65; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 65: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso1SignedInfoType_Reference_currArrayIndex < iso1SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array [iso1SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso1SignedInfoType_Reference_currArrayIndex < iso1SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1SignedInfoType->Reference.array [iso1SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EMAIDType(bitstream_t* stream, struct iso1EMAIDType* iso1EMAIDType) { - int grammarID = 67; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 67: - /* 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)(iso1EMAIDType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1EMAIDType->Id.characters, iso1EMAIDType->Id.charactersLen); - } - } - grammarID = 68; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* 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)(iso1EMAIDType->CONTENT.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1EMAIDType->CONTENT.characters, iso1EMAIDType->CONTENT.charactersLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVStatusType(bitstream_t* stream, struct iso1EVStatusType* iso1EVStatusType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceListType(bitstream_t* stream, struct iso1ServiceListType* iso1ServiceListType) { - int grammarID = 69; - int done = 0; - - unsigned int iso1ServiceListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 69: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 70; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 71; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 72; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 73; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 75; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 76; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (iso1ServiceListType_Service_currArrayIndex < iso1ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &iso1ServiceListType->Service.array [iso1ServiceListType_Service_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_iso1EVSEChargeParameterType(bitstream_t* stream, struct iso1EVSEChargeParameterType* iso1EVSEChargeParameterType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1EVPowerDeliveryParameterType* iso1EVPowerDeliveryParameterType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ProfileEntryType(bitstream_t* stream, struct iso1ProfileEntryType* iso1ProfileEntryType) { - int grammarID = 77; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 77: - /* 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, iso1ProfileEntryType->ChargingProfileEntryStart); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 78; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ProfileEntryType->ChargingProfileEntryMaxPower ); - } - grammarID = 79; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), END_ELEMENT] */ - if ( iso1ProfileEntryType->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)(iso1ProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AuthorizationReqType(bitstream_t* stream, struct iso1AuthorizationReqType* iso1AuthorizationReqType) { - int grammarID = 80; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 80: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso1AuthorizationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1AuthorizationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1AuthorizationReqType->Id.characters, iso1AuthorizationReqType->Id.charactersLen); - } - } - grammarID = 81; - } else if ( iso1AuthorizationReqType->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)(iso1AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytes, iso1AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso1AuthorizationReqType->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)(iso1AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1AuthorizationReqType->GenChallenge.bytes, iso1AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1MeterInfoType(bitstream_t* stream, struct iso1MeterInfoType* iso1MeterInfoType) { - int grammarID = 82; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID)] */ - 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)(iso1MeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1MeterInfoType->MeterID.characters, iso1MeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 83; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* 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 ( iso1MeterInfoType->MeterReading_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, iso1MeterInfoType->MeterReading); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 84; - } else if ( iso1MeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytes, iso1MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 85; - } else if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_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 = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* 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] */ - if ( iso1MeterInfoType->SigMeterReading_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)(iso1MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeterInfoType->SigMeterReading.bytes, iso1MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 85; - } else if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_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 = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso1MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso1MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 86; - } else if ( iso1MeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso1MeterInfoType->TMeter_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, iso1MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ManifestType(bitstream_t* stream, struct iso1ManifestType* iso1ManifestType) { - int grammarID = 87; - int done = 0; - - unsigned int iso1ManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 87: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( iso1ManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ManifestType->Id.characters, iso1ManifestType->Id.charactersLen); - } - } - grammarID = 88; - } else if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso1ManifestType_Reference_currArrayIndex < iso1ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &iso1ManifestType->Reference.array [iso1ManifestType_Reference_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryResType* iso1ChargeParameterDiscoveryResType) { - int grammarID = 89; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 89: - /* 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, iso1ChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 90; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* 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, iso1ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 91; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 91: - /* 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 ( iso1ChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleListType(stream, &iso1ChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 92; - } else if ( iso1ChargeParameterDiscoveryResType->SASchedules_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1SASchedulesType(stream, &iso1ChargeParameterDiscoveryResType->SASchedules ); - } - grammarID = 92; - } else if ( iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* 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 ( iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &iso1ChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PowerDeliveryResType(bitstream_t* stream, struct iso1PowerDeliveryResType* iso1PowerDeliveryResType) { - int grammarID = 93; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 93: - /* 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, iso1PowerDeliveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* 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 ( iso1PowerDeliveryResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1PowerDeliveryResType->AC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1PowerDeliveryResType->DC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1PowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &iso1PowerDeliveryResType->EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVChargeParameterType(bitstream_t* stream, struct iso1DC_EVChargeParameterType* iso1DC_EVChargeParameterType) { - int grammarID = 95; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 95: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( iso1DC_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, iso1DC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 96; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 97; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumCurrentLimit ); - } - grammarID = 98; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( iso1DC_EVChargeParameterType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumPowerLimit ); - } - grammarID = 99; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 100; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 100; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* 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 ( iso1DC_EVChargeParameterType->EVEnergyCapacity_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyCapacity ); - } - grammarID = 101; - } else if ( iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 102; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 101: - /* 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 ( iso1DC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 102; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso1DC_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)(iso1DC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso1DC_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)(iso1DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ConsumptionCostType(bitstream_t* stream, struct iso1ConsumptionCostType* iso1ConsumptionCostType) { - int grammarID = 104; - int done = 0; - - unsigned int iso1ConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ConsumptionCostType->startValue ); - } - grammarID = 105; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 106; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso1ConsumptionCostType_Cost_currArrayIndex < iso1ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1CostType(stream, &iso1ConsumptionCostType->Cost.array [iso1ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PMaxScheduleType(bitstream_t* stream, struct iso1PMaxScheduleType* iso1PMaxScheduleType) { - int grammarID = 108; - int done = 0; - - unsigned int iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 108: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - if (iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array [iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 109; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso1PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &iso1PMaxScheduleType->PMaxScheduleEntry.array [iso1PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PaymentOptionListType(bitstream_t* stream, struct iso1PaymentOptionListType* iso1PaymentOptionListType) { - int grammarID = 110; - int done = 0; - - unsigned int iso1PaymentOptionListType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 110: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ - if (iso1PaymentOptionListType_PaymentOption_currArrayIndex < iso1PaymentOptionListType->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, iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 111; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (iso1PaymentOptionListType_PaymentOption_currArrayIndex < iso1PaymentOptionListType->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, iso1PaymentOptionListType->PaymentOption.array[iso1PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ObjectType(bitstream_t* stream, struct iso1ObjectType* iso1ObjectType) { - int grammarID = 112; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 112: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Encoding.characters, iso1ObjectType->Encoding.charactersLen); - } - } - grammarID = 113; - } else if ( iso1ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Id.characters, iso1ObjectType->Id.charactersLen); - } - } - grammarID = 114; - } else if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->Id.characters, iso1ObjectType->Id.charactersLen); - } - } - grammarID = 114; - } else if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 114: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->MimeType.characters, iso1ObjectType->MimeType.charactersLen); - } - } - grammarID = 115; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ObjectType->ANY.characters, iso1ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1PhysicalValueType(bitstream_t* stream, struct iso1PhysicalValueType* iso1PhysicalValueType) { - int grammarID = 117; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 117: - /* 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)(iso1PhysicalValueType->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 118; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 118: - /* 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, iso1PhysicalValueType->Unit); - /* 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: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, iso1PhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1RSAKeyValueType(bitstream_t* stream, struct iso1RSAKeyValueType* iso1RSAKeyValueType) { - int grammarID = 120; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 120: - /* 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)(iso1RSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1RSAKeyValueType->Modulus.bytes, iso1RSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 121; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 121: - /* 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)(iso1RSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1RSAKeyValueType->Exponent.bytes, iso1RSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionStopResType(bitstream_t* stream, struct iso1SessionStopResType* iso1SessionStopResType) { - int grammarID = 122; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 122: - /* 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, iso1SessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateUpdateReqType(bitstream_t* stream, struct iso1CertificateUpdateReqType* iso1CertificateUpdateReqType) { - int grammarID = 123; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 123: - /* 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)(iso1CertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateUpdateReqType->Id.characters, iso1CertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 124; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 125; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 125: - /* 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)(iso1CertificateUpdateReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CertificateUpdateReqType->eMAID.characters, iso1CertificateUpdateReqType->eMAID.charactersLen); - } - /* 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}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &iso1CertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignatureValueType(bitstream_t* stream, struct iso1SignatureValueType* iso1SignatureValueType) { - int grammarID = 126; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 126: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( iso1SignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureValueType->Id.characters, iso1SignatureValueType->Id.charactersLen); - } - } - grammarID = 24; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SignatureValueType->CONTENT.bytes, iso1SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SignatureValueType->CONTENT.bytes, iso1SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentDetailsReqType(bitstream_t* stream, struct iso1PaymentDetailsReqType* iso1PaymentDetailsReqType) { - int grammarID = 127; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 127: - /* 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)(iso1PaymentDetailsReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1PaymentDetailsReqType->eMAID.characters, iso1PaymentDetailsReqType->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}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1PaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1AuthorizationResType(bitstream_t* stream, struct iso1AuthorizationResType* iso1AuthorizationResType) { - int grammarID = 129; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 129: - /* 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, iso1AuthorizationResType->ResponseCode); - /* 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: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, iso1AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVSEChargeParameterType(bitstream_t* stream, struct iso1DC_EVSEChargeParameterType* iso1DC_EVSEChargeParameterType) { - int grammarID = 131; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 131: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1DC_EVSEChargeParameterType->DC_EVSEStatus ); - } - grammarID = 132; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumCurrentLimit ); - } - grammarID = 133; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumPowerLimit ); - } - grammarID = 134; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumCurrentLimit ); - } - grammarID = 136; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEMinimumVoltageLimit ); - } - grammarID = 137; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 138; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1SubCertificatesType(bitstream_t* stream, struct iso1SubCertificatesType* iso1SubCertificatesType) { - int grammarID = 140; - int done = 0; - - unsigned int iso1SubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* 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:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso1SubCertificatesType_Certificate_currArrayIndex < iso1SubCertificatesType->Certificate.arrayLen ) { - 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)(iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytes, iso1SubCertificatesType->Certificate.array[iso1SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso1SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargingStatusResType(bitstream_t* stream, struct iso1ChargingStatusResType* iso1ChargingStatusResType) { - 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, iso1ChargingStatusResType->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}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)(iso1ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargingStatusResType->EVSEID.characters, iso1ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 146; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* 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)(iso1ChargingStatusResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 147; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 147: - /* 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 ( iso1ChargingStatusResType->EVSEMaxCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1ChargingStatusResType->EVSEMaxCurrent ); - } - grammarID = 148; - } else if ( iso1ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo ); - } - grammarID = 149; - } else if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* 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 ( iso1ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1ChargingStatusResType->MeterInfo ); - } - grammarID = 149; - } else if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( iso1ChargingStatusResType->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, iso1ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 150; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1ChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DSAKeyValueType(bitstream_t* stream, struct iso1DSAKeyValueType* iso1DSAKeyValueType) { - int grammarID = 151; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 151: - /* 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 ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->P.bytes, iso1DSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 152; - } else if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->G.bytes, iso1DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Q.bytes, iso1DSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 155; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->G.bytes, iso1DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 153; - } 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* 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)(iso1DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Y.bytes, iso1DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 154; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->J.bytes, iso1DSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 156; - } else if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Seed.bytes, iso1DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->Seed.bytes, iso1DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 157: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( iso1DSAKeyValueType->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)(iso1DSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1DSAKeyValueType->PgenCounter.bytes, iso1DSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ListOfRootCertificateIDsType(bitstream_t* stream, struct iso1ListOfRootCertificateIDsType* iso1ListOfRootCertificateIDsType) { - int grammarID = 158; - int done = 0; - - unsigned int iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 158: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - if (iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array [iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 159; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso1ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1ListOfRootCertificateIDsType->RootCertificateID.array [iso1ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeServiceType(bitstream_t* stream, struct iso1ChargeServiceType* iso1ChargeServiceType) { - int grammarID = 160; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 160: - /* 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, iso1ChargeServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 161; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( iso1ChargeServiceType->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)(iso1ChargeServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargeServiceType->ServiceName.characters, iso1ChargeServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 162; - } 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, iso1ChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* 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, iso1ChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 163; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( iso1ChargeServiceType->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)(iso1ChargeServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ChargeServiceType->ServiceScope.characters, iso1ChargeServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 164; - } 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, iso1ChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 165; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* 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, iso1ChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 165; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SupportedEnergyTransferModeType(stream, &iso1ChargeServiceType->SupportedEnergyTransferMode ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1IntervalType(bitstream_t* stream, struct iso1IntervalType* iso1IntervalType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1MeteringReceiptReqType(bitstream_t* stream, struct iso1MeteringReceiptReqType* iso1MeteringReceiptReqType) { - int grammarID = 166; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 166: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID)] */ - if ( iso1MeteringReceiptReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1MeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1MeteringReceiptReqType->Id.characters, iso1MeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 167; - } 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)(iso1MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytes, iso1MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 168; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* 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)(iso1MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1MeteringReceiptReqType->SessionID.bytes, iso1MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 168; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( iso1MeteringReceiptReqType->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)(iso1MeteringReceiptReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 169; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDetailResType(bitstream_t* stream, struct iso1ServiceDetailResType* iso1ServiceDetailResType) { - int grammarID = 170; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 170: - /* 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, iso1ServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 171: - /* 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, iso1ServiceDetailResType->ServiceID); - /* 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}ServiceParameterList), END_ELEMENT] */ - if ( iso1ServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ServiceParameterListType(stream, &iso1ServiceDetailResType->ServiceParameterList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1KeyValueType(bitstream_t* stream, struct iso1KeyValueType* iso1KeyValueType) { - int grammarID = 173; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 173: - /* 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 ( iso1KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue ); - } - grammarID = 174; - } else if ( iso1KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue ); - } - grammarID = 174; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 174; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 175; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1KeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 174; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 175: - /* 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 ( iso1KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &iso1KeyValueType->DSAKeyValue ); - } - grammarID = 174; - } else if ( iso1KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &iso1KeyValueType->RSAKeyValue ); - } - grammarID = 174; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 174; - } else if ( iso1KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyValueType->ANY.characters, iso1KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 175; - } 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-16})', derivedBy='RESTRICTION'. */ -static int encode_iso1SelectedServiceListType(bitstream_t* stream, struct iso1SelectedServiceListType* iso1SelectedServiceListType) { - int grammarID = 176; - int done = 0; - - unsigned int iso1SelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 176: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 177; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso1SelectedServiceListType_SelectedService_currArrayIndex < iso1SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &iso1SelectedServiceListType->SelectedService.array [iso1SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CableCheckResType(bitstream_t* stream, struct iso1CableCheckResType* iso1CableCheckResType) { - int grammarID = 192; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 192: - /* 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, iso1CableCheckResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 193; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CableCheckResType->DC_EVSEStatus ); - } - grammarID = 130; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 130: - /* 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, iso1CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1X509IssuerSerialType(bitstream_t* stream, struct iso1X509IssuerSerialType* iso1X509IssuerSerialType) { - int grammarID = 194; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 194: - /* 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)(iso1X509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509IssuerSerialType->X509IssuerName.characters, iso1X509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 195; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* 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, iso1X509IssuerSerialType->X509SerialNumber); */ - errn = encodeIntegerBig(stream, iso1X509IssuerSerialType->X509SerialNumber.negative, iso1X509IssuerSerialType_X509SerialNumber_BYTES_SIZE, iso1X509IssuerSerialType->X509SerialNumber.data, iso1X509IssuerSerialType->X509SerialNumber.len); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1KeyInfoType(bitstream_t* stream, struct iso1KeyInfoType* iso1KeyInfoType) { - int grammarID = 196; - int done = 0; - int wcDone = 0; - - unsigned int iso1KeyInfoType_KeyName_currArrayIndex = 0; - unsigned int iso1KeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int iso1KeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int iso1KeyInfoType_X509Data_currArrayIndex = 0; - unsigned int iso1KeyInfoType_PGPData_currArrayIndex = 0; - unsigned int iso1KeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int iso1KeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 196: - /* 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 ( iso1KeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->Id.characters, iso1KeyInfoType->Id.charactersLen); - } - } - grammarID = 197; - } else if (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 198: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 198; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* 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 (iso1KeyInfoType_KeyName_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].characters, iso1KeyInfoType->KeyName.array[iso1KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso1KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (iso1KeyInfoType_KeyValue_currArrayIndex < iso1KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &iso1KeyInfoType->KeyValue.array [iso1KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_RetrievalMethod_currArrayIndex < iso1KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &iso1KeyInfoType->RetrievalMethod.array [iso1KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_X509Data_currArrayIndex < iso1KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &iso1KeyInfoType->X509Data.array [iso1KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_PGPData_currArrayIndex < iso1KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &iso1KeyInfoType->PGPData.array [iso1KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_SPKIData_currArrayIndex < iso1KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &iso1KeyInfoType->SPKIData.array [iso1KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 198; - } else if (iso1KeyInfoType_MgmtData_currArrayIndex < iso1KeyInfoType->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)(iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].characters, iso1KeyInfoType->MgmtData.array[iso1KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso1KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 198; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 198; - } else if ( iso1KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1KeyInfoType->ANY.characters, iso1KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 199; - } 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_iso1TransformsType(bitstream_t* stream, struct iso1TransformsType* iso1TransformsType) { - int grammarID = 200; - int done = 0; - - unsigned int iso1TransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (iso1TransformsType_Transform_currArrayIndex < iso1TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &iso1TransformsType->Transform.array [iso1TransformsType_Transform_currArrayIndex++]); - } - grammarID = 201; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 201: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (iso1TransformsType_Transform_currArrayIndex < iso1TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &iso1TransformsType->Transform.array [iso1TransformsType_Transform_currArrayIndex++]); - } - grammarID = 201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso1ChargeParameterDiscoveryReqType* iso1ChargeParameterDiscoveryReqType) { - int grammarID = 202; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 202: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - if ( iso1ChargeParameterDiscoveryReqType->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, iso1ChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 203; - } 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, iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* 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, iso1ChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 204: - /* 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 ( iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 3; - } else if ( iso1ChargeParameterDiscoveryReqType->EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVChargeParameterType(stream, &iso1ChargeParameterDiscoveryReqType->EVChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PreChargeReqType(bitstream_t* stream, struct iso1PreChargeReqType* iso1PreChargeReqType) { - int grammarID = 205; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 205: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1PreChargeReqType->DC_EVStatus ); - } - grammarID = 206; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetVoltage ); - } - grammarID = 207; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PreChargeReqType->EVTargetCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EVSEStatusType(bitstream_t* stream, struct iso1EVSEStatusType* iso1EVSEStatusType) { - int grammarID = 208; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 208: - /* 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, iso1EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 209; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* 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, iso1EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignatureMethodType(bitstream_t* stream, struct iso1SignatureMethodType* iso1SignatureMethodType) { - int grammarID = 210; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 210: - /* 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)(iso1SignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->Algorithm.characters, iso1SignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 211; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1SignatureMethodType->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, iso1SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 212; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 212: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso1SignatureMethodType->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, iso1SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignatureMethodType->ANY.characters, iso1SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 212; - } 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_iso1X509DataType(bitstream_t* stream, struct iso1X509DataType* iso1X509DataType) { - int grammarID = 213; - int done = 0; - int wcDone = 0; - - unsigned int iso1X509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int iso1X509DataType_X509SKI_currArrayIndex = 0; - unsigned int iso1X509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int iso1X509DataType_X509Certificate_currArrayIndex = 0; - unsigned int iso1X509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 213: - /* 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 (iso1X509DataType_X509IssuerSerial_currArrayIndex < iso1X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array [iso1X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 214; - } else if (iso1X509DataType_X509SKI_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytes, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen); - iso1X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509SubjectName_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].characters, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso1X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509Certificate_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytes, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso1X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509CRL_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytes, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen); - iso1X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* 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 (iso1X509DataType_X509IssuerSerial_currArrayIndex < iso1X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &iso1X509DataType->X509IssuerSerial.array [iso1X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 214; - } else if (iso1X509DataType_X509SKI_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytes, iso1X509DataType->X509SKI.array[iso1X509DataType_X509SKI_currArrayIndex].bytesLen); - iso1X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509SubjectName_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].characters, iso1X509DataType->X509SubjectName.array[iso1X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso1X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509Certificate_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytes, iso1X509DataType->X509Certificate.array[iso1X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso1X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (iso1X509DataType_X509CRL_currArrayIndex < iso1X509DataType->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)(iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytes, iso1X509DataType->X509CRL.array[iso1X509DataType_X509CRL_currArrayIndex].bytesLen); - iso1X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 214; - } else if ( iso1X509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1NotificationType(bitstream_t* stream, struct iso1NotificationType* iso1NotificationType) { - int grammarID = 215; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 215: - /* 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, iso1NotificationType->FaultCode); - /* 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:MsgDataTypes}FaultMsg), END_ELEMENT] */ - if ( iso1NotificationType->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)(iso1NotificationType->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1NotificationType->FaultMsg.characters, iso1NotificationType->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SAScheduleListType(bitstream_t* stream, struct iso1SAScheduleListType* iso1SAScheduleListType) { - int grammarID = 217; - int done = 0; - - unsigned int iso1SAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 217: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 218; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso1SAScheduleListType_SAScheduleTuple_currArrayIndex < iso1SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &iso1SAScheduleListType->SAScheduleTuple.array [iso1SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1BodyType(bitstream_t* stream, struct iso1BodyType* iso1BodyType) { - int grammarID = 220; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 220: - /* 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 ( iso1BodyType->AuthorizationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &iso1BodyType->AuthorizationReq ); - } - grammarID = 3; - } else if ( iso1BodyType->AuthorizationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &iso1BodyType->AuthorizationRes ); - } - grammarID = 3; - } else if ( iso1BodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &iso1BodyType->BodyElement ); - } - grammarID = 3; - } else if ( iso1BodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &iso1BodyType->CableCheckReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &iso1BodyType->CableCheckRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &iso1BodyType->CertificateInstallationReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &iso1BodyType->CertificateInstallationRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &iso1BodyType->CertificateUpdateReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &iso1BodyType->CertificateUpdateRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &iso1BodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &iso1BodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &iso1BodyType->ChargingStatusReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &iso1BodyType->ChargingStatusRes ); - } - grammarID = 3; - } else if ( iso1BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &iso1BodyType->CurrentDemandReq ); - } - grammarID = 3; - } else if ( iso1BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &iso1BodyType->CurrentDemandRes ); - } - grammarID = 3; - } else if ( iso1BodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &iso1BodyType->MeteringReceiptReq ); - } - grammarID = 3; - } else if ( iso1BodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &iso1BodyType->MeteringReceiptRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &iso1BodyType->PaymentDetailsReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &iso1BodyType->PaymentDetailsRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentServiceSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &iso1BodyType->PaymentServiceSelectionReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PaymentServiceSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &iso1BodyType->PaymentServiceSelectionRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &iso1BodyType->PowerDeliveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &iso1BodyType->PowerDeliveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &iso1BodyType->PreChargeReq ); - } - grammarID = 3; - } else if ( iso1BodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &iso1BodyType->PreChargeRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &iso1BodyType->ServiceDetailReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &iso1BodyType->ServiceDetailRes ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &iso1BodyType->ServiceDiscoveryReq ); - } - grammarID = 3; - } else if ( iso1BodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &iso1BodyType->ServiceDiscoveryRes ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &iso1BodyType->SessionSetupReq ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &iso1BodyType->SessionSetupRes ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &iso1BodyType->SessionStopReq ); - } - grammarID = 3; - } else if ( iso1BodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &iso1BodyType->SessionStopRes ); - } - grammarID = 3; - } else if ( iso1BodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &iso1BodyType->WeldingDetectionReq ); - } - grammarID = 3; - } else if ( iso1BodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &iso1BodyType->WeldingDetectionRes ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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-24})', derivedBy='RESTRICTION'. */ -static int encode_iso1ChargingProfileType(bitstream_t* stream, struct iso1ChargingProfileType* iso1ChargingProfileType) { - int grammarID = 221; - int done = 0; - - unsigned int iso1ChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 221: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso1ChargingProfileType_ProfileEntry_currArrayIndex < iso1ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &iso1ChargingProfileType->ProfileEntry.array [iso1ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1TransformType(bitstream_t* stream, struct iso1TransformType* iso1TransformType) { - int grammarID = 245; - int done = 0; - int wcDone = 0; - - unsigned int iso1TransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 245: - /* 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)(iso1TransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->Algorithm.characters, iso1TransformType->Algorithm.charactersLen); - } - } - grammarID = 246; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso1TransformType_XPath_currArrayIndex < iso1TransformType->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)(iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].characters, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen); - iso1TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 247; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 247; - } else if ( iso1TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->ANY.characters, iso1TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 247; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 247: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso1TransformType_XPath_currArrayIndex < iso1TransformType->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)(iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].characters, iso1TransformType->XPath.array[iso1TransformType_XPath_currArrayIndex].charactersLen); - iso1TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 247; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 247; - } else if ( iso1TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1TransformType->ANY.characters, iso1TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 247; - } 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_iso1SAScheduleTupleType(bitstream_t* stream, struct iso1SAScheduleTupleType* iso1SAScheduleTupleType) { - int grammarID = 248; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 248: - /* 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)(iso1SAScheduleTupleType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 249; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PMaxScheduleType(stream, &iso1SAScheduleTupleType->PMaxSchedule ); - } - grammarID = 250; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff), END_ELEMENT] */ - if ( iso1SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffType(stream, &iso1SAScheduleTupleType->SalesTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVChargeParameterType(bitstream_t* stream, struct iso1AC_EVChargeParameterType* iso1AC_EVChargeParameterType) { - int grammarID = 251; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 251: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( iso1AC_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, iso1AC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 252; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount ); - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EAmount ); - } - grammarID = 253; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxVoltage ); - } - grammarID = 254; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMaxCurrent ); - } - grammarID = 255; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVChargeParameterType->EVMinCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AnonType_V2G_Message(bitstream_t* stream, struct iso1AnonType_V2G_Message* iso1AnonType_V2G_Message) { - int grammarID = 256; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 256: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1MessageHeaderType(stream, &iso1AnonType_V2G_Message->Header ); - } - grammarID = 257; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1BodyType(stream, &iso1AnonType_V2G_Message->Body ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1PaymentDetailsResType(bitstream_t* stream, struct iso1PaymentDetailsResType* iso1PaymentDetailsResType) { - int grammarID = 258; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 258: - /* 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, iso1PaymentDetailsResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 259; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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)(iso1PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PaymentDetailsResType->GenChallenge.bytes, iso1PaymentDetailsResType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 260; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, iso1PaymentDetailsResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso1ContractSignatureEncryptedPrivateKeyType* iso1ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* 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)(iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ContractSignatureEncryptedPrivateKeyType->Id.characters, iso1ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, iso1ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PMaxScheduleEntryType(bitstream_t* stream, struct iso1PMaxScheduleEntryType* iso1PMaxScheduleEntryType) { - int grammarID = 261; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 261: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1PMaxScheduleEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1PMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 262; - } else if ( iso1PMaxScheduleEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1PMaxScheduleEntryType->TimeInterval ); - } - grammarID = 262; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1PMaxScheduleEntryType->PMax ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SPKIDataType(bitstream_t* stream, struct iso1SPKIDataType* iso1SPKIDataType) { - int grammarID = 263; - int done = 0; - int wcDone = 0; - - unsigned int iso1SPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 263: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 265; - } else if ( iso1SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 265: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (iso1SPKIDataType_SPKISexp_currArrayIndex < iso1SPKIDataType->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)(iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytes, iso1SPKIDataType->SPKISexp.array[iso1SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso1SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 264; - } else if ( iso1SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1MeteringReceiptResType(bitstream_t* stream, struct iso1MeteringReceiptResType* iso1MeteringReceiptResType) { - int grammarID = 93; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 93: - /* 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, iso1MeteringReceiptResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* 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 ( iso1MeteringReceiptResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1MeteringReceiptResType->AC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1MeteringReceiptResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1MeteringReceiptResType->DC_EVSEStatus ); - } - grammarID = 3; - } else if ( iso1MeteringReceiptResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &iso1MeteringReceiptResType->EVSEStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionStopReqType(bitstream_t* stream, struct iso1SessionStopReqType* iso1SessionStopReqType) { - int grammarID = 266; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 266: - /* 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, iso1SessionStopReqType->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1WeldingDetectionResType(bitstream_t* stream, struct iso1WeldingDetectionResType* iso1WeldingDetectionResType) { - int grammarID = 39; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 39: - /* 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, iso1WeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1WeldingDetectionResType->DC_EVSEStatus ); - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ReferenceType(bitstream_t* stream, struct iso1ReferenceType* iso1ReferenceType) { - int grammarID = 267; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 267: - /* 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 ( iso1ReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Id.characters, iso1ReferenceType->Id.charactersLen); - } - } - grammarID = 268; - } else if ( iso1ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Type.characters, iso1ReferenceType->Type.charactersLen); - } - } - grammarID = 269; - } else if ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 268: - /* 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 ( iso1ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->Type.characters, iso1ReferenceType->Type.charactersLen); - } - } - grammarID = 269; - } else if ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* 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 ( iso1ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ReferenceType->URI.characters, iso1ReferenceType->URI.charactersLen); - } - } - grammarID = 270; - } else if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 270: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso1ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1ReferenceType->Transforms ); - } - grammarID = 271; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &iso1ReferenceType->DigestMethod ); - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* 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)(iso1ReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1ReferenceType->DigestValue.bytes, iso1ReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CurrentDemandReqType(bitstream_t* stream, struct iso1CurrentDemandReqType* iso1CurrentDemandReqType) { - int grammarID = 273; - int done = 0; - - // printf("ðŸ [DEBUG CurrentDemandReq] Starting encoding, stream pos: %zu\n", *stream->pos); - - while(!done) { - // printf("🔠[DEBUG CurrentDemandReq] Grammar case: %d, stream pos: %zu\n", grammarID, *stream->pos); - switch(grammarID) { - case 273: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1CurrentDemandReqType->DC_EVStatus ); - } - grammarID = 274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 275; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* 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 ( iso1CurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumVoltageLimit ); - } - grammarID = 276; - } else if ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* 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 ( iso1CurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 277; - } else if ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* 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 ( iso1CurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 278; - } else if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( iso1CurrentDemandReqType->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, iso1CurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 279; - } 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 279: - /* 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, iso1CurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* 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 ( iso1CurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToFullSoC ); - } - grammarID = 281; - } else if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 282; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( iso1CurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 282; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SalesTariffEntryType(bitstream_t* stream, struct iso1SalesTariffEntryType* iso1SalesTariffEntryType) { - int grammarID = 283; - int done = 0; - - unsigned int iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 283: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1SalesTariffEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1SalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 284; - } else if ( iso1SalesTariffEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1SalesTariffEntryType->TimeInterval ); - } - grammarID = 284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if ( iso1SalesTariffEntryType->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)(iso1SalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 285; - } else if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso1SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &iso1SalesTariffEntryType->ConsumptionCost.array [iso1SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1EntryType(bitstream_t* stream, struct iso1EntryType* iso1EntryType) { - int grammarID = 288; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( iso1EntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &iso1EntryType->RelativeTimeInterval ); - } - grammarID = 3; - } else if ( iso1EntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &iso1EntryType->TimeInterval ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SessionSetupReqType(bitstream_t* stream, struct iso1SessionSetupReqType* iso1SessionSetupReqType) { - int grammarID = 289; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 289: - /* 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)(iso1SessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1SessionSetupReqType->EVCCID.bytes, iso1SessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CostType(bitstream_t* stream, struct iso1CostType* iso1CostType) { - int grammarID = 290; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 290: - /* 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, iso1CostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 291; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 291: - /* 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, iso1CostType->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 292; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), END_ELEMENT] */ - if ( iso1CostType->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)(iso1CostType->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVPowerDeliveryParameterType(bitstream_t* stream, struct iso1DC_EVPowerDeliveryParameterType* iso1DC_EVPowerDeliveryParameterType) { - int grammarID = 293; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 293: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1DC_EVPowerDeliveryParameterType->DC_EVStatus ); - } - grammarID = 294; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - if ( iso1DC_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, iso1DC_EVPowerDeliveryParameterType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 295; - } 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, iso1DC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 295: - /* 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, iso1DC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1RetrievalMethodType(bitstream_t* stream, struct iso1RetrievalMethodType* iso1RetrievalMethodType) { - int grammarID = 296; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 296: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->Type.characters, iso1RetrievalMethodType->Type.charactersLen); - } - } - grammarID = 297; - } else if ( iso1RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 298; - } else if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 297: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1RetrievalMethodType->URI.characters, iso1RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 298; - } else if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 298: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso1RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &iso1RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CertificateUpdateResType(bitstream_t* stream, struct iso1CertificateUpdateResType* iso1CertificateUpdateResType) { - int grammarID = 299; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 299: - /* 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, iso1CertificateUpdateResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 300; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 301; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 302; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 303; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateUpdateResType->DHpublickey ); - } - grammarID = 304; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1EMAIDType(stream, &iso1CertificateUpdateResType->eMAID ); - } - grammarID = 305; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter), END_ELEMENT] */ - if ( iso1CertificateUpdateResType->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, iso1CertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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'. */ -static int encode_iso1CertificateInstallationResType(bitstream_t* stream, struct iso1CertificateInstallationResType* iso1CertificateInstallationResType) { - int grammarID = 306; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 306: - /* 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, iso1CertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 307; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 308; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &iso1CertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 309; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &iso1CertificateInstallationResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 310; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &iso1CertificateInstallationResType->DHpublickey ); - } - grammarID = 311; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1EMAIDType(stream, &iso1CertificateInstallationResType->eMAID ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1CanonicalizationMethodType(bitstream_t* stream, struct iso1CanonicalizationMethodType* iso1CanonicalizationMethodType) { - int grammarID = 312; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 312: - /* 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)(iso1CanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->Algorithm.characters, iso1CanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CanonicalizationMethodType->ANY.characters, iso1CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1WeldingDetectionReqType(bitstream_t* stream, struct iso1WeldingDetectionReqType* iso1WeldingDetectionReqType) { - int grammarID = 313; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1WeldingDetectionReqType->DC_EVStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DC_EVStatusType(bitstream_t* stream, struct iso1DC_EVStatusType* iso1DC_EVStatusType) { - int grammarID = 314; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 314: - /* 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, iso1DC_EVStatusType->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 315; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 315: - /* 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, iso1DC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 316; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 316: - /* 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)(iso1DC_EVStatusType->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CurrentDemandResType(bitstream_t* stream, struct iso1CurrentDemandResType* iso1CurrentDemandResType) { - int grammarID = 317; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 317: - /* 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, iso1CurrentDemandResType->ResponseCode); - /* 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:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &iso1CurrentDemandResType->DC_EVSEStatus ); - } - grammarID = 319; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 320; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 320: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 321; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, iso1CurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 322; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 322: - /* 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, iso1CurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 323; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 323: - /* 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, iso1CurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 324; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 324: - /* 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 ( iso1CurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumVoltageLimit ); - } - grammarID = 325; - } else if ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 325: - /* 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 ( iso1CurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 326; - } else if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( iso1CurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1CurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 327; - } 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 327: - /* 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)(iso1CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1CurrentDemandResType->EVSEID.characters, iso1CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 328; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 328: - /* 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)(iso1CurrentDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 329; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso1CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &iso1CurrentDemandResType->MeterInfo ); - } - grammarID = 330; - } else if ( iso1CurrentDemandResType->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, iso1CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso1CurrentDemandResType->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, iso1CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceType(bitstream_t* stream, struct iso1ServiceType* iso1ServiceType) { - int grammarID = 331; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 331: - /* 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, iso1ServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 332; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( iso1ServiceType->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)(iso1ServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceType->ServiceName.characters, iso1ServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 333; - } 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, iso1ServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 334; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 333: - /* 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, iso1ServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 334; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( iso1ServiceType->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)(iso1ServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceType->ServiceScope.characters, iso1ServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 335; - } 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, iso1ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 335: - /* 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, iso1ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1ServiceDiscoveryReqType(bitstream_t* stream, struct iso1ServiceDiscoveryReqType* iso1ServiceDiscoveryReqType) { - int grammarID = 336; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 336: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( iso1ServiceDiscoveryReqType->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)(iso1ServiceDiscoveryReqType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1ServiceDiscoveryReqType->ServiceScope.characters, iso1ServiceDiscoveryReqType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 337; - } else if ( iso1ServiceDiscoveryReqType->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, iso1ServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( iso1ServiceDiscoveryReqType->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, iso1ServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVSEChargeParameterType(bitstream_t* stream, struct iso1AC_EVSEChargeParameterType* iso1AC_EVSEChargeParameterType) { - int grammarID = 338; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 338: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &iso1AC_EVSEChargeParameterType->AC_EVSEStatus ); - } - grammarID = 339; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSENominalVoltage ); - } - grammarID = 340; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &iso1AC_EVSEChargeParameterType->EVSEMaxCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso1CableCheckReqType(bitstream_t* stream, struct iso1CableCheckReqType* iso1CableCheckReqType) { - int grammarID = 313; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &iso1CableCheckReqType->DC_EVStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SelectedServiceType(bitstream_t* stream, struct iso1SelectedServiceType* iso1SelectedServiceType) { - int grammarID = 341; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 341: - /* 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, iso1SelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 342; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - if ( iso1SelectedServiceType->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, iso1SelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1AC_EVSEStatusType(bitstream_t* stream, struct iso1AC_EVSEStatusType* iso1AC_EVSEStatusType) { - int grammarID = 343; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 343: - /* 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, iso1AC_EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 344; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 344: - /* 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, iso1AC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 345; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 345: - /* 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, iso1AC_EVSEStatusType->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SalesTariffType(bitstream_t* stream, struct iso1SalesTariffType* iso1SalesTariffType) { - int grammarID = 346; - int done = 0; - - unsigned int iso1SalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 346: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - if ( iso1SalesTariffType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SalesTariffType->Id.characters, iso1SalesTariffType->Id.charactersLen); - } - } - grammarID = 347; - } 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)(iso1SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 348; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 347: - /* 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)(iso1SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 348; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 348: - /* 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)] */ - if ( iso1SalesTariffType->SalesTariffDescription_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)(iso1SalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SalesTariffType->SalesTariffDescription.characters, iso1SalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 349; - } else if ( iso1SalesTariffType->NumEPriceLevels_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso1SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 350; - } else if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - if ( iso1SalesTariffType->NumEPriceLevels_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)(iso1SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 350; - } else if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (iso1SalesTariffType_SalesTariffEntry_currArrayIndex < iso1SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &iso1SalesTariffType->SalesTariffEntry.array [iso1SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentServiceSelectionReqType(bitstream_t* stream, struct iso1PaymentServiceSelectionReqType* iso1PaymentServiceSelectionReqType) { - int grammarID = 352; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 352: - /* 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, iso1PaymentServiceSelectionReqType->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 353; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SelectedServiceListType(stream, &iso1PaymentServiceSelectionReqType->SelectedServiceList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SignaturePropertiesType(bitstream_t* stream, struct iso1SignaturePropertiesType* iso1SignaturePropertiesType) { - int grammarID = 354; - int done = 0; - - unsigned int iso1SignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 354: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( iso1SignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertiesType->Id.characters, iso1SignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 355; - } else if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 355: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 356: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (iso1SignaturePropertiesType_SignatureProperty_currArrayIndex < iso1SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &iso1SignaturePropertiesType->SignatureProperty.array [iso1SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1BodyBaseType(bitstream_t* stream, struct iso1BodyBaseType* iso1BodyBaseType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1SupportedEnergyTransferModeType(bitstream_t* stream, struct iso1SupportedEnergyTransferModeType* iso1SupportedEnergyTransferModeType) { - int grammarID = 357; - int done = 0; - - unsigned int iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 357: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 358; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_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 = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < iso1SupportedEnergyTransferModeType->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, iso1SupportedEnergyTransferModeType->EnergyTransferMode.array[iso1SupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso1ChargingStatusReqType(bitstream_t* stream, struct iso1ChargingStatusReqType* iso1ChargingStatusReqType) { - int grammarID = 34; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 34: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1PaymentServiceSelectionResType(bitstream_t* stream, struct iso1PaymentServiceSelectionResType* iso1PaymentServiceSelectionResType) { - int grammarID = 122; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 122: - /* 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, iso1PaymentServiceSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso1DigestMethodType(bitstream_t* stream, struct iso1DigestMethodType* iso1DigestMethodType) { - int grammarID = 312; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 312: - /* 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)(iso1DigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->Algorithm.characters, iso1DigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 115; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->ANY.characters, iso1DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1DigestMethodType->ANY.characters, iso1DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } 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_iso1SignaturePropertyType(bitstream_t* stream, struct iso1SignaturePropertyType* iso1SignaturePropertyType) { - int grammarID = 363; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 363: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( iso1SignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Id.characters, iso1SignaturePropertyType->Id.charactersLen); - } - } - grammarID = 364; - } 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)(iso1SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 365; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 364: - /* 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)(iso1SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->Target.characters, iso1SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 365; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 365: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 366; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 366: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if ( iso1SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso1SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso1SignaturePropertyType->ANY.characters, iso1SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 366; - } 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_iso1PGPDataType(bitstream_t* stream, struct iso1PGPDataType* iso1PGPDataType) { - int grammarID = 367; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 367: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyID.bytes, iso1PGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 368; - } else if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytes, iso1PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 369; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 368: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( iso1PGPDataType->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)(iso1PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso1PGPDataType->PGPKeyPacket.bytes, iso1PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 369; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 369; - } else if ( iso1PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 369: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 369; - } else if ( iso1PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -int encode_iso1EXISchemaInformedElementFragmentGrammar(bitstream_t* stream, struct iso1EXISchemaInformedElementFragmentGrammar* exiElementFrag) { - int grammarID = 370; - int done = 0; - - while(!done) { - switch(grammarID) { - case 370: - /* First(xsi:type)(xsi:nil)StartTag[ATTRIBUTE[STRING](Algorithm), ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), ATTRIBUTE[STRING](MimeType), ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name), ATTRIBUTE[STRING](Target), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), ATTRIBUTE_GENERIC, 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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( exiElementFrag->Id_isUsed == 1u ) { - exiElementFrag->Id_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 9, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->Id.characters, exiElementFrag->Id.charactersLen); - } - } - grammarID = 370; - } else if (1==0) { - errn = encodeNBitUnsignedInteger(stream, 9, 255); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( exiElementFrag->CHARACTERS_GENERIC_isUsed == 1u ) { - exiElementFrag->CHARACTERS_GENERIC_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 9, 256); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.characters, exiElementFrag->CHARACTERS_GENERIC.charactersLen); - } - } - grammarID = 371; - } else { - errn = encodeNBitUnsignedInteger(stream, 9, 255); /* EE */ - done = 1; - } - break; - case 371: - /* Element[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_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = encodeNBitUnsignedInteger(stream, 8, 244); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( exiElementFrag->CHARACTERS_GENERIC_isUsed == 1u ) { - exiElementFrag->CHARACTERS_GENERIC_isUsed = 0u; /* hack to indicate for next loop that this has been handled already */ - errn = encodeNBitUnsignedInteger(stream, 8, 245); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiElementFrag->CHARACTERS_GENERIC.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiElementFrag->CHARACTERS_GENERIC.characters, exiElementFrag->CHARACTERS_GENERIC.charactersLen); - } - } - grammarID = 371; - } else { - errn = encodeNBitUnsignedInteger(stream, 8, 244); /* EE */ - done = 1; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* 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) */ - errn = encodeNBitUnsignedInteger(stream, 7, 0); - if(errn == 0) { - errn = encode_iso1AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 1); - if(errn == 0) { - errn = encode_iso1AC_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); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus ); - } - } else if ( exiDoc->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 3); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &exiDoc->AuthorizationReq ); - } - } else if ( exiDoc->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 4); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &exiDoc->AuthorizationRes ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 6); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 7); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &exiDoc->ChargingStatusRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &exiDoc->CurrentDemandRes ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_iso1DC_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_iso1DC_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_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1EVChargeParameterType(stream, &exiDoc->EVChargeParameter ); - } - } else if ( exiDoc->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 28); - if(errn == 0) { - errn = encode_iso1EVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter ); - } - } else if ( exiDoc->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_iso1EVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter ); - } - } else if ( exiDoc->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 30); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &exiDoc->EVSEStatus ); - } - } else if ( exiDoc->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_iso1EVStatusType(stream, &exiDoc->EVStatus ); - } - } else if ( exiDoc->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_iso1EntryType(stream, &exiDoc->Entry ); - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 35); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 36); - if(errn == 0) { - errn = encode_iso1ManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 37); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq ); - } - } else if ( exiDoc->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 48); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 49); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 53); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_iso1SAScheduleListType(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_iso1SASchedulesType(stream, &exiDoc->SASchedules ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 57); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 58); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_iso1SignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &exiDoc->TimeInterval ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso1AnonType_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); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* 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) { - errn = encode_iso1AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 1); - if(errn == 0) { - errn = encode_iso1AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 2); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 3); - if(errn == 0) { - errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus ); - } - } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 4); - if(errn == 0) { - errn = encode_iso1AuthorizationReqType(stream, &exiFrag->AuthorizationReq ); - } - } else if ( exiFrag->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 5); - if(errn == 0) { - errn = encode_iso1AuthorizationResType(stream, &exiFrag->AuthorizationRes ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 8, 6); - if(errn == 0) { - errn = encode_iso1BodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 8, 7); - if(errn == 0) { - errn = encode_iso1BodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 8); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 9); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 10); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* 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); - if(errn == 0) { - errn = encode_iso1CableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 12); - if(errn == 0) { - errn = encode_iso1CableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 13); - if(errn == 0) { - errn = encode_iso1CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 14); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 15); - if(errn == 0) { - errn = encode_iso1CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 16); - if(errn == 0) { - errn = encode_iso1CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 17); - if(errn == 0) { - errn = encode_iso1CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 18); - if(errn == 0) { - errn = encode_iso1CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 19); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 20); - if(errn == 0) { - errn = encode_iso1ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeProgress_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ - errn = encodeNBitUnsignedInteger(stream, 8, 21); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ChargeProgress); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1ChargeServiceType(stream, &exiFrag->ChargeService ); - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 23); - if(errn == 0) { - /* 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->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 8, 24); - if(errn == 0) { - /* 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->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 8, 25); - if(errn == 0) { - errn = encode_iso1ChargingProfileType(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_iso1PhysicalValueType(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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 30); - if(errn == 0) { - errn = encode_iso1ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 31); - if(errn == 0) { - errn = encode_iso1ChargingStatusResType(stream, &exiFrag->ChargingStatusRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 32); - if(errn == 0) { - errn = encode_iso1ConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 33); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 34); - if(errn == 0) { - errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey ); - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 35); - if(errn == 0) { - errn = encode_iso1CostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 36); - if(errn == 0) { - errn = encode_iso1CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 37); - if(errn == 0) { - errn = encode_iso1CurrentDemandResType(stream, &exiFrag->CurrentDemandRes ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 38); - if(errn == 0) { - errn = encode_iso1DC_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); - if(errn == 0) { - errn = encode_iso1DC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 40); - if(errn == 0) { - errn = encode_iso1DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 41); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 42); - if(errn == 0) { - errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 43); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 44); - if(errn == 0) { - errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus ); - } - } else if ( exiFrag->DHpublickey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ - errn = encodeNBitUnsignedInteger(stream, 8, 45); - if(errn == 0) { - errn = encode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 46); - if(errn == 0) { - errn = encode_iso1DSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ - errn = encodeNBitUnsignedInteger(stream, 8, 47); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 48); - if(errn == 0) { - errn = encode_iso1DigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 49); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EAmount ); - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ - errn = encodeNBitUnsignedInteger(stream, 8, 51); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 52); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - 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_iso1EVChargeParameterType(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_iso1PhysicalValueType(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_iso1PhysicalValueType(stream, &exiFrag->EVEnergyRequest ); - } - } else if ( exiFrag->EVErrorCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVErrorCode); - /* 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); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(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_iso1PhysicalValueType(stream, &exiFrag->EVMaxVoltage ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 59); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 60); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 61); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 62); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 63); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit ); - } - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 64); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->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_iso1PhysicalValueType(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_iso1EVPowerDeliveryParameterType(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]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->EVRESSSOC - 0)); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVReady); - /* 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_iso1EVSEChargeParameterType(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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 8, 71); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 8, 72); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 73); - 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->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->EVSEID.characters, exiFrag->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 74); - 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); - } - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 75); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 76); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 77); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 78); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 79); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 80); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 81); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 82); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit ); - } - } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 83); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit ); - } - } else if ( exiFrag->EVSEMinimumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 84); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit ); - } - } else if ( exiFrag->EVSENominalVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 85); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSENominalVoltage ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 86); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 87); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(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); - } - } - } 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_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 90); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 8, 91); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 92); - if(errn == 0) { - errn = encode_iso1EVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSEStatusCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 93); - 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); - } - } - } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 94); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1EVStatusType(stream, &exiFrag->EVStatus ); - } - } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 97); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 98); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 99); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EnergyTransferMode); - /* 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); - if(errn == 0) { - errn = encode_iso1EntryType(stream, &exiFrag->Entry ); - } - } 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FaultCode); - /* 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); - 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); - } - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 8, 106); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 8, 107); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->GenChallenge.bytes, exiFrag->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 8, 108); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 8, 109); - if(errn == 0) { - errn = encode_iso1MessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->J_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - errn = encodeNBitUnsignedInteger(stream, 8, 110); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 111); - if(errn == 0) { - errn = encode_iso1KeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 112); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 113); - if(errn == 0) { - errn = encode_iso1KeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 8, 114); - if(errn == 0) { - errn = encode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 115); - if(errn == 0) { - errn = encode_iso1ManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MaxEntriesSAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 116); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->MaxEntriesSAScheduleTuple); - /* 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); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 118); - if(errn == 0) { - errn = encode_iso1MeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 119); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger64(stream, exiFrag->MeterReading); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 121); - if(errn == 0) { - errn = encode_iso1MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 122); - if(errn == 0) { - errn = encode_iso1MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 123); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 124); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - 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_iso1NotificationType(stream, &exiFrag->Notification ); - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 8, 127); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 8, 128); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 8, 129); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 8, 130); - if(errn == 0) { - errn = encode_iso1ObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 8, 131); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 132); - if(errn == 0) { - errn = encode_iso1PGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 133); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 8, 134); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 8, 135); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->PMax ); - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 8, 136); - if(errn == 0) { - errn = encode_iso1PMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 137); - if(errn == 0) { - errn = encode_iso1PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 138); - if(errn == 0) { - errn = encode_iso1ParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 8, 139); - if(errn == 0) { - errn = encode_iso1ParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 140); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->ParameterSetID); - /* 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); - if(errn == 0) { - errn = encode_iso1PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 142); - if(errn == 0) { - errn = encode_iso1PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 143); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptionList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 144); - if(errn == 0) { - errn = encode_iso1PaymentOptionListType(stream, &exiFrag->PaymentOptionList ); - } - } else if ( exiFrag->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 145); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq ); - } - } else if ( exiFrag->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 146); - if(errn == 0) { - errn = encode_iso1PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 147); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 148); - if(errn == 0) { - errn = encode_iso1PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 149); - if(errn == 0) { - errn = encode_iso1PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 150); - if(errn == 0) { - errn = encode_iso1PreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 151); - if(errn == 0) { - errn = encode_iso1PreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 152); - if(errn == 0) { - errn = encode_iso1ProfileEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 8, 153); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1RSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 8, 156); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 8, 157); - if(errn == 0) { - errn = encode_iso1ReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 158); - if(errn == 0) { - errn = encode_iso1RelativeTimeIntervalType(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_iso1PhysicalValueType(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_iso1PhysicalValueType(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]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ResponseCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 162); - 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); - if(errn == 0) { - errn = encode_iso1RetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 164); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 165); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &exiFrag->RootCertificateID ); - } - } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ - errn = encodeNBitUnsignedInteger(stream, 8, 166); - if(errn == 0) { - errn = encode_iso1CertificateChainType(stream, &exiFrag->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_iso1SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 168); - if(errn == 0) { - errn = encode_iso1SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 169); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 170); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1SASchedulesType(stream, &exiFrag->SASchedules ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 172); - if(errn == 0) { - errn = encode_iso1SPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 173); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 8, 174); - if(errn == 0) { - errn = encode_iso1SalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 8, 175); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 176); - if(errn == 0) { - errn = encode_iso1SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 177); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 178); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 179); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 180); - if(errn == 0) { - errn = encode_iso1SelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 181); - if(errn == 0) { - errn = encode_iso1SelectedServiceListType(stream, &exiFrag->SelectedServiceList ); - } - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 8, 182); - if(errn == 0) { - errn = encode_iso1ServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 183); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - errn = encodeNBitUnsignedInteger(stream, 8, 184); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 185); - if(errn == 0) { - errn = encode_iso1ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 186); - if(errn == 0) { - errn = encode_iso1ServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 187); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 188); - if(errn == 0) { - errn = encode_iso1ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 189); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 190); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso1ServiceListType(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); - if(errn == 0) { - errn = encode_iso1ServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 194); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - errn = encodeNBitUnsignedInteger(stream, 8, 195); - 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->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 196); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 197); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 198); - if(errn == 0) { - errn = encode_iso1SessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 199); - if(errn == 0) { - errn = encode_iso1SessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 200); - if(errn == 0) { - errn = encode_iso1SessionStopReqType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 201); - if(errn == 0) { - errn = encode_iso1SessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 202); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 8, 203); - if(errn == 0) { - errn = encode_iso1SignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 204); - if(errn == 0) { - errn = encode_iso1SignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 8, 205); - if(errn == 0) { - errn = encode_iso1SignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 8, 206); - if(errn == 0) { - errn = encode_iso1SignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 207); - if(errn == 0) { - errn = encode_iso1SignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 208); - if(errn == 0) { - errn = encode_iso1SignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 8, 209); - if(errn == 0) { - errn = encode_iso1SubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->SupportedEnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 210); - if(errn == 0) { - errn = encode_iso1SupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 211); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1IntervalType(stream, &exiFrag->TimeInterval ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 8, 213); - if(errn == 0) { - errn = encode_iso1TransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 8, 214); - if(errn == 0) { - errn = encode_iso1TransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->Unit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 215); - 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); - } - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 8, 216); - if(errn == 0) { - errn = encode_iso1AnonType_V2G_Message(stream, &exiFrag->V2G_Message ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 8, 217); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - 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); - if(errn == 0) { - errn = encode_iso1WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 219); - if(errn == 0) { - errn = encode_iso1WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 8, 220); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 221); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 8, 222); - if(errn == 0) { - errn = encode_iso1X509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 223); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 8, 224); - if(errn == 0) { - errn = encode_iso1X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 8, 225); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 8, 226); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 227); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 8, 229); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - 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); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->amount); - /* 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); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 232); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 233); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 8, 234); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 8, 235); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->eMAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 236); - if(errn == 0) { - errn = encode_iso1EXISchemaInformedElementFragmentGrammar(stream, &exiFrag->eMAID); - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 237); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 238); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 239); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 8, 240); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 241); - if(errn == 0) { - errn = encode_iso1PhysicalValueType(stream, &exiFrag->startValue ); - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 242); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 8, 244); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#endif - diff --git a/src/iso1/iso1EXIDatatypesEncoder.h b/src/iso1/iso1EXIDatatypesEncoder.h deleted file mode 100644 index ad0d59f..0000000 --- a/src/iso1/iso1EXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_iso1_DATATYPES_ENCODER_H -#define EXI_iso1_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "iso1EXIDatatypes.h" - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_iso1ExiDocument(bitstream_t* stream, struct iso1EXIDocument* exiDoc); - -#if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag); -#endif /* DEPLOY_ISO1_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO1_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso2/iso2EXIDatatypes.c b/src/iso2/iso2EXIDatatypes.c deleted file mode 100644 index 06d30f5..0000000 --- a/src/iso2/iso2EXIDatatypes.c +++ /dev/null @@ -1,1496 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "iso2EXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_iso2_DATATYPES_C -#define EXI_iso2_DATATYPES_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - - -void init_iso2EXIDocument(struct iso2EXIDocument* 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; - exiDoc->SessionSetupRes_isUsed = 0u; - exiDoc->CableCheckReq_isUsed = 0u; - 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->PairingRes_isUsed = 0u; - exiDoc->WeldingDetectionRes_isUsed = 0u; - exiDoc->ConnectChargingDeviceRes_isUsed = 0u; - exiDoc->CertificateUpdateReq_isUsed = 0u; - exiDoc->CertificateUpdateRes_isUsed = 0u; - exiDoc->PaymentServiceSelectionReq_isUsed = 0u; - exiDoc->PowerDeliveryReq_isUsed = 0u; - exiDoc->PaymentServiceSelectionRes_isUsed = 0u; - exiDoc->PowerDeliveryRes_isUsed = 0u; - exiDoc->ChargingStatusReq_isUsed = 0u; - exiDoc->ChargingStatusRes_isUsed = 0u; - exiDoc->BodyElement_isUsed = 0u; - exiDoc->AC_BidirectionalControlReq_isUsed = 0u; - exiDoc->AC_BidirectionalControlRes_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_BidirectionalControlRes_isUsed = 0u; - exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 0u; - exiDoc->MV_EVSEFinePositioningParameters_isUsed = 0u; - exiDoc->RelativeTimeInterval_isUsed = 0u; - exiDoc->SalesTariffEntry_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->EVSEFinePositioningSetupParameters_isUsed = 0u; - exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 0u; - exiDoc->DC_EVChargeParameter_isUsed = 0u; - exiDoc->DC_EVSEChargeParameter_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->LFA_EVSEFinePositioningParameters_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->Generic_EVFinePositioningParameters_isUsed = 0u; - exiDoc->DC_EVBidirectionalParameter_isUsed = 0u; - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -void init_iso2EXIFragment(struct iso2EXIFragment* exiFrag) { - 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->ParkingMethod_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->Distance_isUsed = 0u; - exiFrag->ParameterSet_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->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->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->LFA_EVSEFinePositioningParameters_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->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->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->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->MeterReadingDischarged_isUsed = 0u; - exiFrag->MeasurementDataList_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->SensorPosition_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->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_ISO2_CODEC_FRAGMENT */ - -void init_iso2RetrievalMethodType(struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - iso2RetrievalMethodType->URI_isUsed = 0u; - iso2RetrievalMethodType->Type_isUsed = 0u; - iso2RetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_iso2AuthorizationResType(struct iso2AuthorizationResType* iso2AuthorizationResType) { - iso2AuthorizationResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2MV_EVSEFinePositioningSetupParametersType(struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 0u; - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 0u; -} - -void init_iso2X509DataType(struct iso2X509DataType* iso2X509DataType) { - iso2X509DataType->X509IssuerSerial.arrayLen = 0u; - iso2X509DataType->X509SKI.arrayLen = 0u; - iso2X509DataType->X509SubjectName.arrayLen = 0u; - iso2X509DataType->X509Certificate.arrayLen = 0u; - iso2X509DataType->X509CRL.arrayLen = 0u; - iso2X509DataType->ANY_isUsed = 0u; -} - -void init_iso2RSAKeyValueType(struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - (void)iso2RSAKeyValueType; /* avoid unused warning */ -} - -void init_iso2DC_BidirectionalControlResType(struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 0u; - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 0u; - iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 0u; - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2CostType(struct iso2CostType* iso2CostType) { - (void)iso2CostType; /* avoid unused warning */ -} - -void init_iso2ChargingStatusResType(struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - iso2ChargingStatusResType->EVSEStatus_isUsed = 0u; - iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 0u; - iso2ChargingStatusResType->MeterInfo_isUsed = 0u; - iso2ChargingStatusResType->ReceiptRequired_isUsed = 0u; - iso2ChargingStatusResType->EVSETargetPower_isUsed = 0u; -} - -void init_iso2MeterInfoType(struct iso2MeterInfoType* iso2MeterInfoType) { - iso2MeterInfoType->MeterReadingCharged_isUsed = 0u; - iso2MeterInfoType->MeterReadingDischarged_isUsed = 0u; - iso2MeterInfoType->SigMeterReading_isUsed = 0u; - iso2MeterInfoType->MeterStatus_isUsed = 0u; - iso2MeterInfoType->TMeter_isUsed = 0u; -} - -void init_iso2AC_EVChargeParameterType(struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2AC_EVSEBidirectionalParameterType(struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - (void)iso2AC_EVSEBidirectionalParameterType; /* avoid unused warning */ -} - -void init_iso2VehicleCheckOutResType(struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - iso2VehicleCheckOutResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2MagneticVectorListType(struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - iso2MagneticVectorListType->MagneticVector.arrayLen = 0u; -} - -void init_iso2CableCheckResType(struct iso2CableCheckResType* iso2CableCheckResType) { - iso2CableCheckResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2ServiceDiscoveryReqType(struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 0u; -} - -void init_iso2ServiceType(struct iso2ServiceType* iso2ServiceType) { - (void)iso2ServiceType; /* avoid unused warning */ -} - -void init_iso2ServiceParameterListType(struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - iso2ServiceParameterListType->ParameterSet.arrayLen = 0u; -} - -void init_iso2PMaxScheduleType(struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso2SignaturePropertiesType(struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - iso2SignaturePropertiesType->Id_isUsed = 0u; - iso2SignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_iso2PMaxScheduleEntryType(struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - iso2PMaxScheduleEntryType->PMax.arrayLen = 0u; -} - -void init_iso2SignatureType(struct iso2SignatureType* iso2SignatureType) { - iso2SignatureType->Id_isUsed = 0u; - iso2SignatureType->KeyInfo_isUsed = 0u; - iso2SignatureType->Object.arrayLen = 0u; -} - -void init_iso2VehicleCheckInReqType(struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - iso2VehicleCheckInReqType->ParkingMethod_isUsed = 0u; -} - -void init_iso2ConnectChargingDeviceResType(struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2WeldingDetectionResType(struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - iso2WeldingDetectionResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionStopResType(struct iso2SessionStopResType* iso2SessionStopResType) { - iso2SessionStopResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2VehicleCheckInResType(struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - iso2VehicleCheckInResType->EVSEStatus_isUsed = 0u; - iso2VehicleCheckInResType->TargetOffset_isUsed = 0u; -} - -void init_iso2ServiceListType(struct iso2ServiceListType* iso2ServiceListType) { - iso2ServiceListType->Service.arrayLen = 0u; -} - -void init_iso2CertificateUpdateResType(struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - iso2CertificateUpdateResType->EVSEStatus_isUsed = 0u; - iso2CertificateUpdateResType->RetryCounter_isUsed = 0u; -} - -void init_iso2FinePositioningSetupResType(struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - iso2FinePositioningSetupResType->EVSEStatus_isUsed = 0u; - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 0u; -} - -void init_iso2AC_EVBidirectionalParameterType(struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2DC_BidirectionalControlReqType(struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 0u; - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; -} - -void init_iso2CertificateUpdateReqType(struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - (void)iso2CertificateUpdateReqType; /* avoid unused warning */ -} - -void init_iso2ConsumptionCostType(struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - iso2ConsumptionCostType->Cost.arrayLen = 0u; -} - -void init_iso2SAScheduleListType(struct iso2SAScheduleListType* iso2SAScheduleListType) { - iso2SAScheduleListType->SAScheduleTuple.arrayLen = 0u; -} - -void init_iso2MagneticVectorSetupType(struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - (void)iso2MagneticVectorSetupType; /* avoid unused warning */ -} - -void init_iso2LFA_EVSEFinePositioningSetupParametersType(struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - (void)iso2LFA_EVSEFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2PaymentOptionListType(struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - iso2PaymentOptionListType->PaymentOption.arrayLen = 0u; -} - -void init_iso2LFA_EVSEFinePositioningParametersType(struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - (void)iso2LFA_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2RelativeTimeIntervalType(struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - iso2RelativeTimeIntervalType->duration_isUsed = 0u; -} - -void init_iso2EVFinePositioningParametersType(struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - (void)iso2EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2AlignmentCheckReqType(struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 0u; -} - -void init_iso2CertificateInstallationReqType(struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - (void)iso2CertificateInstallationReqType; /* avoid unused warning */ -} - -void init_iso2TransformsType(struct iso2TransformsType* iso2TransformsType) { - iso2TransformsType->Transform.arrayLen = 0u; -} - -void init_iso2ObjectType(struct iso2ObjectType* iso2ObjectType) { - iso2ObjectType->Id_isUsed = 0u; - iso2ObjectType->MimeType_isUsed = 0u; - iso2ObjectType->Encoding_isUsed = 0u; - iso2ObjectType->ANY_isUsed = 0u; -} - -void init_iso2SensorOrderListType(struct iso2SensorOrderListType* iso2SensorOrderListType) { - iso2SensorOrderListType->SensorPosition.arrayLen = 0u; -} - -void init_iso2ChargeParameterDiscoveryReqType(struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 0u; -} - -void init_iso2ParameterType(struct iso2ParameterType* iso2ParameterType) { - iso2ParameterType->boolValue_isUsed = 0u; - iso2ParameterType->byteValue_isUsed = 0u; - iso2ParameterType->shortValue_isUsed = 0u; - iso2ParameterType->intValue_isUsed = 0u; - iso2ParameterType->physicalValue_isUsed = 0u; - iso2ParameterType->stringValue_isUsed = 0u; -} - -void init_iso2SessionStopReqType(struct iso2SessionStopReqType* iso2SessionStopReqType) { - (void)iso2SessionStopReqType; /* avoid unused warning */ -} - -void init_iso2SensorMeasurementsType(struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - (void)iso2SensorMeasurementsType; /* avoid unused warning */ -} - -void init_iso2DC_EVSEChargeParameterType(struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso2SensorPackageListType(struct iso2SensorPackageListType* iso2SensorPackageListType) { - iso2SensorPackageListType->SensorPackage.arrayLen = 0u; -} - -void init_iso2MeasurementDataListType(struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - iso2MeasurementDataListType->MeasurementData.arrayLen = 0u; -} - -void init_iso2CertificateChainType(struct iso2CertificateChainType* iso2CertificateChainType) { - iso2CertificateChainType->Id_isUsed = 0u; - iso2CertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_iso2SignaturePropertyType(struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - iso2SignaturePropertyType->Id_isUsed = 0u; - iso2SignaturePropertyType->ANY_isUsed = 0u; -} - -void init_iso2TransformType(struct iso2TransformType* iso2TransformType) { - iso2TransformType->ANY_isUsed = 0u; - iso2TransformType->XPath.arrayLen = 0u; -} - -void init_iso2EMAIDType(struct iso2EMAIDType* iso2EMAIDType) { - (void)iso2EMAIDType; /* avoid unused warning */ -} - -void init_iso2DSAKeyValueType(struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - iso2DSAKeyValueType->P_isUsed = 0u; - iso2DSAKeyValueType->Q_isUsed = 0u; - iso2DSAKeyValueType->G_isUsed = 0u; - iso2DSAKeyValueType->J_isUsed = 0u; - iso2DSAKeyValueType->Seed_isUsed = 0u; - iso2DSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_iso2EntryType(struct iso2EntryType* iso2EntryType) { - (void)iso2EntryType; /* avoid unused warning */ -} - -void init_iso2MessageHeaderType(struct iso2MessageHeaderType* iso2MessageHeaderType) { - iso2MessageHeaderType->Signature_isUsed = 0u; -} - -void init_iso2WPT_EVChargeParameterType(struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; -} - -void init_iso2DisconnectChargingDeviceReqType(struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - (void)iso2DisconnectChargingDeviceReqType; /* avoid unused warning */ -} - -void init_iso2ChargeLoopReqType(struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2ChargeLoopReqType->DisplayParameters_isUsed = 0u; -} - -void init_iso2V2GRequestType(struct iso2V2GRequestType* iso2V2GRequestType) { - (void)iso2V2GRequestType; /* avoid unused warning */ -} - -void init_iso2MeteringReceiptResType(struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - iso2MeteringReceiptResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionSetupResType(struct iso2SessionSetupResType* iso2SessionSetupResType) { - iso2SessionSetupResType->EVSEStatus_isUsed = 0u; - iso2SessionSetupResType->EVSETimeStamp_isUsed = 0u; -} - -void init_iso2AC_BidirectionalControlReqType(struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; - iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 0u; -} - -void init_iso2MV_EVSEFinePositioningParametersType(struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - (void)iso2MV_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2ReferenceType(struct iso2ReferenceType* iso2ReferenceType) { - iso2ReferenceType->Id_isUsed = 0u; - iso2ReferenceType->URI_isUsed = 0u; - iso2ReferenceType->Type_isUsed = 0u; - iso2ReferenceType->Transforms_isUsed = 0u; -} - -void init_iso2EVSEEnergyTransferParameterType(struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - (void)iso2EVSEEnergyTransferParameterType; /* avoid unused warning */ -} - -void init_iso2MeteringReceiptReqType(struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; -} - -void init_iso2KeyValueType(struct iso2KeyValueType* iso2KeyValueType) { - iso2KeyValueType->DSAKeyValue_isUsed = 0u; - iso2KeyValueType->RSAKeyValue_isUsed = 0u; - iso2KeyValueType->ANY_isUsed = 0u; -} - -void init_iso2SensorListType(struct iso2SensorListType* iso2SensorListType) { - iso2SensorListType->Sensor.arrayLen = 0u; -} - -void init_iso2CurrentDemandReqType(struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2CurrentDemandReqType->DisplayParameters_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 0u; - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 0u; -} - -void init_iso2FinePositioningSetupReqType(struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 0u; - iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 0u; -} - -void init_iso2LFA_EVFinePositioningSetupParametersType(struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - (void)iso2LFA_EVFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2SAScheduleTupleType(struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 0u; - iso2SAScheduleTupleType->SalesTariff_isUsed = 0u; - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 0u; -} - -void init_iso2WPT_EVSEChargeParameterType(struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - (void)iso2WPT_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso2FinePositioningResType(struct iso2FinePositioningResType* iso2FinePositioningResType) { - iso2FinePositioningResType->EVSEStatus_isUsed = 0u; - iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 0u; - iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 0u; -} - -void init_iso2BodyBaseType(struct iso2BodyBaseType* iso2BodyBaseType) { - (void)iso2BodyBaseType; /* avoid unused warning */ -} - -void init_iso2ServiceDetailResType(struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - iso2ServiceDetailResType->EVSEStatus_isUsed = 0u; - iso2ServiceDetailResType->ServiceParameterList_isUsed = 0u; -} - -void init_iso2PowerDeliveryReqType(struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - iso2PowerDeliveryReqType->EVOperation_isUsed = 0u; - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 0u; - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 0u; -} - -void init_iso2PairingResType(struct iso2PairingResType* iso2PairingResType) { - iso2PairingResType->EVSEStatus_isUsed = 0u; - iso2PairingResType->PairingParameters_isUsed = 0u; -} - -void init_iso2AuthorizationReqType(struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - iso2AuthorizationReqType->Id_isUsed = 0u; - iso2AuthorizationReqType->GenChallenge_isUsed = 0u; -} - -void init_iso2ParameterSetType(struct iso2ParameterSetType* iso2ParameterSetType) { - iso2ParameterSetType->Parameter.arrayLen = 0u; -} - -void init_iso2SPKIDataType(struct iso2SPKIDataType* iso2SPKIDataType) { - iso2SPKIDataType->SPKISexp.arrayLen = 0u; - iso2SPKIDataType->ANY_isUsed = 0u; -} - -void init_iso2PaymentDetailsResType(struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - iso2PaymentDetailsResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SignatureMethodType(struct iso2SignatureMethodType* iso2SignatureMethodType) { - iso2SignatureMethodType->HMACOutputLength_isUsed = 0u; - iso2SignatureMethodType->ANY_isUsed = 0u; -} - -void init_iso2AC_BidirectionalControlResType(struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; - iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 0u; - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2VehicleCheckOutReqType(struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - (void)iso2VehicleCheckOutReqType; /* avoid unused warning */ -} - -void init_iso2WeldingDetectionReqType(struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - (void)iso2WeldingDetectionReqType; /* avoid unused warning */ -} - -void init_iso2AlignmentCheckResType(struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - iso2AlignmentCheckResType->EVSEStatus_isUsed = 0u; - iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 0u; -} - -void init_iso2PowerDemandReqType(struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2PowerDemandReqType->DisplayParameters_isUsed = 0u; - iso2PowerDemandReqType->PowerDemandParameters_isUsed = 0u; -} - -void init_iso2MinimumPMaxRequestType(struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen = 0u; -} - -void init_iso2DisconnectChargingDeviceResType(struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SessionSetupReqType(struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - (void)iso2SessionSetupReqType; /* avoid unused warning */ -} - -void init_iso2PaymentDetailsReqType(struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - (void)iso2PaymentDetailsReqType; /* avoid unused warning */ -} - -void init_iso2Generic_EVFinePositioningParametersType(struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - (void)iso2Generic_EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2ConnectChargingDeviceReqType(struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - (void)iso2ConnectChargingDeviceReqType; /* avoid unused warning */ -} - -void init_iso2AC_EVSEChargeParameterType(struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - (void)iso2AC_EVSEChargeParameterType; /* avoid unused warning */ -} - -void init_iso2SalesTariffEntryType(struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - iso2SalesTariffEntryType->EPriceLevel_isUsed = 0u; - iso2SalesTariffEntryType->ConsumptionCost.arrayLen = 0u; -} - -void init_iso2DC_EVSEBidirectionalParameterType(struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; - iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; -} - -void init_iso2CanonicalizationMethodType(struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - iso2CanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_iso2DisplayParametersType(struct iso2DisplayParametersType* iso2DisplayParametersType) { - iso2DisplayParametersType->CurrentRange_isUsed = 0u; - iso2DisplayParametersType->CurrentSOC_isUsed = 0u; - iso2DisplayParametersType->TargetSOC_isUsed = 0u; - iso2DisplayParametersType->BulkSOC_isUsed = 0u; - iso2DisplayParametersType->MinimumSOC_isUsed = 0u; - iso2DisplayParametersType->ChargingPerformance_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 0u; - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 0u; - iso2DisplayParametersType->ChargingComplete_isUsed = 0u; - iso2DisplayParametersType->BulkChargingComplete_isUsed = 0u; - iso2DisplayParametersType->InletHot_isUsed = 0u; -} - -void init_iso2DC_EVBidirectionalParameterType(struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 0u; - iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 0u; -} - -void init_iso2PaymentServiceSelectionReqType(struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 0u; -} - -void init_iso2MagneticVectorType(struct iso2MagneticVectorType* iso2MagneticVectorType) { - (void)iso2MagneticVectorType; /* avoid unused warning */ -} - -void init_iso2PhysicalValueType(struct iso2PhysicalValueType* iso2PhysicalValueType) { - (void)iso2PhysicalValueType; /* avoid unused warning */ -} - -void init_iso2SystemStatusReqType(struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - (void)iso2SystemStatusReqType; /* avoid unused warning */ -} - -void init_iso2SystemStatusResType(struct iso2SystemStatusResType* iso2SystemStatusResType) { - iso2SystemStatusResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2EVSEFinePositioningSetupParametersType(struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - (void)iso2EVSEFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2V2GResponseType(struct iso2V2GResponseType* iso2V2GResponseType) { - iso2V2GResponseType->EVSEStatus_isUsed = 0u; -} - -void init_iso2BodyType(struct iso2BodyType* iso2BodyType) { - iso2BodyType->BodyElement_isUsed = 0u; - iso2BodyType->V2GRequest_isUsed = 0u; - iso2BodyType->DisconnectChargingDeviceReq_isUsed = 0u; - iso2BodyType->ConnectChargingDeviceReq_isUsed = 0u; - iso2BodyType->SystemStatusReq_isUsed = 0u; - iso2BodyType->DC_BidirectionalControlReq_isUsed = 0u; - iso2BodyType->AC_BidirectionalControlReq_isUsed = 0u; - iso2BodyType->VehicleCheckOutReq_isUsed = 0u; - iso2BodyType->VehicleCheckInReq_isUsed = 0u; - iso2BodyType->PowerDemandReq_isUsed = 0u; - iso2BodyType->PairingReq_isUsed = 0u; - iso2BodyType->AlignmentCheckReq_isUsed = 0u; - iso2BodyType->FinePositioningReq_isUsed = 0u; - iso2BodyType->FinePositioningSetupReq_isUsed = 0u; - iso2BodyType->WeldingDetectionReq_isUsed = 0u; - iso2BodyType->CurrentDemandReq_isUsed = 0u; - iso2BodyType->PreChargeReq_isUsed = 0u; - iso2BodyType->CableCheckReq_isUsed = 0u; - iso2BodyType->ChargingStatusReq_isUsed = 0u; - iso2BodyType->CertificateInstallationReq_isUsed = 0u; - iso2BodyType->CertificateUpdateReq_isUsed = 0u; - iso2BodyType->SessionStopReq_isUsed = 0u; - iso2BodyType->MeteringReceiptReq_isUsed = 0u; - iso2BodyType->PowerDeliveryReq_isUsed = 0u; - iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - iso2BodyType->AuthorizationReq_isUsed = 0u; - iso2BodyType->PaymentDetailsReq_isUsed = 0u; - iso2BodyType->PaymentServiceSelectionReq_isUsed = 0u; - iso2BodyType->ServiceDetailReq_isUsed = 0u; - iso2BodyType->ServiceDiscoveryReq_isUsed = 0u; - iso2BodyType->SessionSetupReq_isUsed = 0u; - iso2BodyType->V2GResponse_isUsed = 0u; - iso2BodyType->DisconnectChargingDeviceRes_isUsed = 0u; - iso2BodyType->ConnectChargingDeviceRes_isUsed = 0u; - iso2BodyType->SystemStatusRes_isUsed = 0u; - iso2BodyType->DC_BidirectionalControlRes_isUsed = 0u; - iso2BodyType->AC_BidirectionalControlRes_isUsed = 0u; - iso2BodyType->VehicleCheckOutRes_isUsed = 0u; - iso2BodyType->VehicleCheckInRes_isUsed = 0u; - iso2BodyType->PowerDemandRes_isUsed = 0u; - iso2BodyType->PairingRes_isUsed = 0u; - iso2BodyType->AlignmentCheckRes_isUsed = 0u; - iso2BodyType->FinePositioningRes_isUsed = 0u; - iso2BodyType->FinePositioningSetupRes_isUsed = 0u; - iso2BodyType->WeldingDetectionRes_isUsed = 0u; - iso2BodyType->CurrentDemandRes_isUsed = 0u; - iso2BodyType->PreChargeRes_isUsed = 0u; - iso2BodyType->CableCheckRes_isUsed = 0u; - iso2BodyType->ChargingStatusRes_isUsed = 0u; - iso2BodyType->CertificateInstallationRes_isUsed = 0u; - iso2BodyType->CertificateUpdateRes_isUsed = 0u; - iso2BodyType->SessionStopRes_isUsed = 0u; - iso2BodyType->MeteringReceiptRes_isUsed = 0u; - iso2BodyType->PowerDeliveryRes_isUsed = 0u; - iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - iso2BodyType->AuthorizationRes_isUsed = 0u; - iso2BodyType->PaymentDetailsRes_isUsed = 0u; - iso2BodyType->PaymentServiceSelectionRes_isUsed = 0u; - iso2BodyType->ServiceDetailRes_isUsed = 0u; - iso2BodyType->ServiceDiscoveryRes_isUsed = 0u; - iso2BodyType->SessionSetupRes_isUsed = 0u; -} - -void init_iso2PreChargeResType(struct iso2PreChargeResType* iso2PreChargeResType) { - iso2PreChargeResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2EVSEFinePositioningParametersType(struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - (void)iso2EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2PaymentServiceSelectionResType(struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2DigestMethodType(struct iso2DigestMethodType* iso2DigestMethodType) { - iso2DigestMethodType->ANY_isUsed = 0u; -} - -void init_iso2TargetPositionType(struct iso2TargetPositionType* iso2TargetPositionType) { - (void)iso2TargetPositionType; /* avoid unused warning */ -} - -void init_iso2LFA_EVFinePositioningParametersType(struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - (void)iso2LFA_EVFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2DC_EVChargeParameterType(struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 0u; - iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 0u; - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 0u; - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 0u; -} - -void init_iso2ServiceDetailReqType(struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - (void)iso2ServiceDetailReqType; /* avoid unused warning */ -} - -void init_iso2PreChargeReqType(struct iso2PreChargeReqType* iso2PreChargeReqType) { - (void)iso2PreChargeReqType; /* avoid unused warning */ -} - -void init_iso2ManifestType(struct iso2ManifestType* iso2ManifestType) { - iso2ManifestType->Id_isUsed = 0u; - iso2ManifestType->Reference.arrayLen = 0u; -} - -void init_iso2AnonType_V2G_Message(struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - (void)iso2AnonType_V2G_Message; /* avoid unused warning */ -} - -void init_iso2SelectedServiceListType(struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - iso2SelectedServiceListType->SelectedService.arrayLen = 0u; -} - -void init_iso2Generic_EVSEFinePositioningParametersType(struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - (void)iso2Generic_EVSEFinePositioningParametersType; /* avoid unused warning */ -} - -void init_iso2CartesianCoordinatesType(struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - (void)iso2CartesianCoordinatesType; /* avoid unused warning */ -} - -void init_iso2KeyInfoType(struct iso2KeyInfoType* iso2KeyInfoType) { - iso2KeyInfoType->Id_isUsed = 0u; - iso2KeyInfoType->KeyName.arrayLen = 0u; - iso2KeyInfoType->KeyValue.arrayLen = 0u; - iso2KeyInfoType->RetrievalMethod.arrayLen = 0u; - iso2KeyInfoType->X509Data.arrayLen = 0u; - iso2KeyInfoType->PGPData.arrayLen = 0u; - iso2KeyInfoType->SPKIData.arrayLen = 0u; - iso2KeyInfoType->MgmtData.arrayLen = 0u; - iso2KeyInfoType->ANY_isUsed = 0u; -} - -void init_iso2SubCertificatesType(struct iso2SubCertificatesType* iso2SubCertificatesType) { - iso2SubCertificatesType->Certificate.arrayLen = 0u; -} - -void init_iso2ListOfRootCertificateIDsType(struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_iso2EVEnergyTransferParameterType(struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - (void)iso2EVEnergyTransferParameterType; /* avoid unused warning */ -} - -void init_iso2ContractSignatureEncryptedPrivateKeyType(struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - (void)iso2ContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */ -} - -void init_iso2MagneticVectorSetupListType(struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen = 0u; -} - -void init_iso2PairingReqType(struct iso2PairingReqType* iso2PairingReqType) { - iso2PairingReqType->PairingParameters_isUsed = 0u; -} - -void init_iso2CurrentDemandResType(struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - iso2CurrentDemandResType->EVSEStatus_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 0u; - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 0u; - iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 0u; - iso2CurrentDemandResType->MeterInfo_isUsed = 0u; - iso2CurrentDemandResType->ReceiptRequired_isUsed = 0u; -} - -void init_iso2X509IssuerSerialType(struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - (void)iso2X509IssuerSerialType; /* avoid unused warning */ -} - -void init_iso2ChargingStatusReqType(struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 0u; - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 0u; - iso2ChargingStatusReqType->DisplayParameters_isUsed = 0u; - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 0u; - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 0u; - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 0u; -} - -void init_iso2CertificateInstallationResType(struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - iso2CertificateInstallationResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2SensorPackageType(struct iso2SensorPackageType* iso2SensorPackageType) { - iso2SensorPackageType->SensorMeasurements.arrayLen = 0u; -} - -void init_iso2PGPDataType(struct iso2PGPDataType* iso2PGPDataType) { - iso2PGPDataType->PGPKeyID_isUsed = 0u; - iso2PGPDataType->PGPKeyPacket_isUsed = 0u; - iso2PGPDataType->ANY_isUsed = 0u; -} - -void init_iso2ServiceDiscoveryResType(struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 0u; - iso2ServiceDiscoveryResType->VASList_isUsed = 0u; -} - -void init_iso2ServiceIDListType(struct iso2ServiceIDListType* iso2ServiceIDListType) { - iso2ServiceIDListType->ServiceID.arrayLen = 0u; -} - -void init_iso2EVFinePositioningSetupParametersType(struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - (void)iso2EVFinePositioningSetupParametersType; /* avoid unused warning */ -} - -void init_iso2ChargeParameterDiscoveryResType(struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 0u; - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 0u; -} - -void init_iso2PowerDemandResType(struct iso2PowerDemandResType* iso2PowerDemandResType) { - iso2PowerDemandResType->EVSEStatus_isUsed = 0u; - iso2PowerDemandResType->SAScheduleTupleID_isUsed = 0u; - iso2PowerDemandResType->MeterInfo_isUsed = 0u; - iso2PowerDemandResType->ReceiptRequired_isUsed = 0u; - iso2PowerDemandResType->PowerDemandParameters_isUsed = 0u; -} - -void init_iso2ChargingProfileType(struct iso2ChargingProfileType* iso2ChargingProfileType) { - iso2ChargingProfileType->ProfileEntry.arrayLen = 0u; -} - -void init_iso2FinePositioningReqType(struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 0u; - iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 0u; - iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 0u; -} - -void init_iso2SalesTariffType(struct iso2SalesTariffType* iso2SalesTariffType) { - iso2SalesTariffType->SalesTariffDescription_isUsed = 0u; - iso2SalesTariffType->NumEPriceLevels_isUsed = 0u; - iso2SalesTariffType->SalesTariffEntry.arrayLen = 0u; -} - -void init_iso2SensorType(struct iso2SensorType* iso2SensorType) { - (void)iso2SensorType; /* avoid unused warning */ -} - -void init_iso2SignatureValueType(struct iso2SignatureValueType* iso2SignatureValueType) { - iso2SignatureValueType->Id_isUsed = 0u; -} - -void init_iso2SignedInfoType(struct iso2SignedInfoType* iso2SignedInfoType) { - iso2SignedInfoType->Id_isUsed = 0u; - iso2SignedInfoType->Reference.arrayLen = 0u; -} - -void init_iso2PowerDeliveryResType(struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - iso2PowerDeliveryResType->EVSEStatus_isUsed = 0u; -} - -void init_iso2CableCheckReqType(struct iso2CableCheckReqType* iso2CableCheckReqType) { - (void)iso2CableCheckReqType; /* avoid unused warning */ -} - -void init_iso2SelectedServiceType(struct iso2SelectedServiceType* iso2SelectedServiceType) { - (void)iso2SelectedServiceType; /* avoid unused warning */ -} - -void init_iso2DiffieHellmanPublickeyType(struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - (void)iso2DiffieHellmanPublickeyType; /* avoid unused warning */ -} - -void init_iso2EVSEStatusType(struct iso2EVSEStatusType* iso2EVSEStatusType) { - (void)iso2EVSEStatusType; /* avoid unused warning */ -} - - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/src/iso2/iso2EXIDatatypes.h b/src/iso2/iso2EXIDatatypes.h deleted file mode 100644 index a898a2d..0000000 --- a/src/iso2/iso2EXIDatatypes.h +++ /dev/null @@ -1,4189 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_iso2_DATATYPES_H -#define EXI_iso2_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_ISO2_CODEC SUPPORT_YES -#define DEPLOY_ISO2_CODEC_FRAGMENT SUPPORT_YES - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* Note: Please find below a list of occurrence limits that have been applied */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorPosition from 255 to 5 (see #define iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MeasurementData from 255 to 5 (see #define iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":XPath from unbounded to 1 (see #define iso2TransformType_XPath_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKISexp from unbounded to 1 (see #define iso2SPKIDataType_SPKISexp_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup from 255 to 5 (see #define iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial from unbounded to 1 (see #define iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SKI from unbounded to 1 (see #define iso2X509DataType_X509SKI_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509SubjectName from unbounded to 1 (see #define iso2X509DataType_X509SubjectName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Certificate from unbounded to 1 (see #define iso2X509DataType_X509Certificate_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509CRL from unbounded to 1 (see #define iso2X509DataType_X509CRL_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SignatureProperty from unbounded to 1 (see #define iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Transform from unbounded to 1 (see #define iso2TransformsType_Transform_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":Sensor from 255 to 5 (see #define iso2SensorListType_Sensor_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso2ManifestType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements from 255 to 5 (see #define iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry from unbounded to 24 (see #define iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry from unbounded to 5 (see #define iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Reference from unbounded to 1 (see #define iso2SignedInfoType_Reference_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":MagneticVector from 255 to 5 (see #define iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":ParameterSet from 255 to 5 (see #define iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry from unbounded to 5 (see #define iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) */ -/* Limit occurrence of element "urn:iso:15118:2:2016:MsgDataTypes":SensorPackage from 255 to 5 (see #define iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyName from unbounded to 1 (see #define iso2KeyInfoType_KeyName_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":KeyValue from unbounded to 1 (see #define iso2KeyInfoType_KeyValue_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod from unbounded to 1 (see #define iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":X509Data from unbounded to 1 (see #define iso2KeyInfoType_X509Data_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":PGPData from unbounded to 1 (see #define iso2KeyInfoType_PGPData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":SPKIData from unbounded to 1 (see #define iso2KeyInfoType_SPKIData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":MgmtData from unbounded to 1 (see #define iso2KeyInfoType_MgmtData_ARRAY_SIZE) */ -/* Limit occurrence of element "http://www.w3.org/2000/09/xmldsig#":Object from unbounded to 1 (see #define iso2SignatureType_Object_ARRAY_SIZE) */ - - -/* 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 iso2RSAKeyValueType_Modulus_BYTES_SIZE 350 -#define iso2RSAKeyValueType_Exponent_BYTES_SIZE 350 -struct iso2RSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2RSAKeyValueType_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[iso2RSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 iso2MeterInfoType_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ -#define iso2MeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ -struct iso2MeterInfoType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterID, urn:iso:15118:2:2016:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[iso2MeterInfoType_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } 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[iso2MeterInfoType_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; -}; - -/* 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 iso2ServiceType { - /* 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 ; -}; - -typedef enum { - iso2vehicleSpaceType_AutoParking = 0, - iso2vehicleSpaceType_MVGuideManual = 1, - iso2vehicleSpaceType_Manual = 2 -} iso2vehicleSpaceType; - -/* 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 iso2ServiceListType_Service_ARRAY_SIZE 8 -struct iso2ServiceListType { - /* 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 iso2ServiceType array[iso2ServiceListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -typedef enum { - iso2operationModeType_Ready = 0, - iso2operationModeType_NotReady = 1 -} iso2operationModeType; - -/* 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 iso2MagneticVectorSetupType_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2MagneticVectorSetupType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ - struct { - exi_string_character_t characters[iso2MagneticVectorSetupType_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,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 iso2RelativeTimeIntervalType { - /* 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,EVFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct iso2EVFinePositioningParametersType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2ObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2ObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ObjectType_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[iso2ObjectType_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[iso2ObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso2ObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -#define iso2SensorOrderListType_SensorPosition_ARRAY_SIZE 5 -struct iso2SensorOrderListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPosition, http://www.w3.org/2001/XMLSchema,unsignedByte */ - struct { - uint8_t array[iso2SensorOrderListType_SensorPosition_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorPosition; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -#define iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE 5 -struct iso2MeasurementDataListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeasurementData, http://www.w3.org/2001/XMLSchema,unsignedShort */ - struct { - uint16_t array[iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE]; - uint16_t arrayLen; - } MeasurementData; -}; - -/* 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 iso2SignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2SignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignaturePropertyType_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[iso2SignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso2TransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2TransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2TransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2TransformType_XPath_ARRAY_SIZE 1 -struct iso2TransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2TransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2TransformType_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 { - exi_string_character_t characters[iso2TransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2TransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -typedef enum { - iso2EVSENotificationType_StopCharging = 0, - iso2EVSENotificationType_ReNegotiation = 1 -} iso2EVSENotificationType; - -/* 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 iso2EMAIDType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EMAIDType_CONTENT_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2EMAIDType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2EMAIDType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2EMAIDType_CONTENT_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CONTENT ; -}; - -/* 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'. */ -#define iso2DSAKeyValueType_P_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Q_BYTES_SIZE 350 -#define iso2DSAKeyValueType_G_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Y_BYTES_SIZE 350 -#define iso2DSAKeyValueType_J_BYTES_SIZE 350 -#define iso2DSAKeyValueType_Seed_BYTES_SIZE 350 -#define iso2DSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct iso2DSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[iso2DSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_isUsed:1; -}; - -/* 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 iso2EntryType { - /* 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 iso2RelativeTimeIntervalType RelativeTimeInterval ; -}; - -typedef enum { - iso2valueType_bool = 0, - iso2valueType_byte = 1, - iso2valueType_short = 2, - iso2valueType_int = 3, - iso2valueType_physicalValue = 4, - iso2valueType_string = 5 -} iso2valueType; - -/* 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 iso2V2GRequestType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2EVSEEnergyTransferParameterType { - 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 iso2MeteringReceiptReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2MeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -struct iso2MeteringReceiptReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2MeteringReceiptReqType_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[iso2MeteringReceiptReqType_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 iso2MeterInfoType MeterInfo ; -}; - -/* 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 iso2KeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2KeyValueType { - /* 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 iso2DSAKeyValueType 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 iso2RSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2KeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -typedef enum { - iso2EVCheckInStatusType_CheckIn = 0, - iso2EVCheckInStatusType_Processing = 1, - iso2EVCheckInStatusType_Completed = 2 -} iso2EVCheckInStatusType; - -typedef enum { - iso2mechanicalChargingDeviceStatusType_Home = 0, - iso2mechanicalChargingDeviceStatusType_Moving = 1, - iso2mechanicalChargingDeviceStatusType_EndPosition = 2 -} iso2mechanicalChargingDeviceStatusType; - -/* 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 iso2BodyBaseType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2AuthorizationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2AuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -struct iso2AuthorizationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2AuthorizationReqType_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[iso2AuthorizationReqType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - unsigned int GenChallenge_isUsed:1; -}; - -/* 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 iso2SPKIDataType_SPKISexp_BYTES_SIZE 350 -#define iso2SPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define iso2SPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2SPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2SPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2SPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2SignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2SignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2SignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2SignatureMethodType_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[iso2SignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct iso2WeldingDetectionReqType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2SessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ -struct iso2SessionSetupReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCCID, urn:iso:15118:2:2016:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[iso2SessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -typedef enum { - iso2chargeProgressType_Start = 0, - iso2chargeProgressType_Stop = 1, - iso2chargeProgressType_Renegotiate = 2 -} iso2chargeProgressType; - -/* 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 iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2CanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2PhysicalValueType { - /* 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: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 iso2SystemStatusReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ - iso2operationModeType OperationMode ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2EVSEFinePositioningSetupParametersType { - int noContent; /* avoid warning */ -}; - -/* 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 iso2EVSEFinePositioningParametersType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2FODStatusType_ObjectOnPad = 0, - iso2FODStatusType_PadClear = 1, - iso2FODStatusType_UnknownError = 2 -} iso2FODStatusType; - -typedef enum { - iso2costKindType_relativePricePercentage = 0, - iso2costKindType_RenewableGenerationPercentage = 1, - iso2costKindType_CarbonDioxideEmission = 2 -} iso2costKindType; - -/* 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 iso2DigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define iso2DigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2DigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2DigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2DigestMethodType_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 iso2TargetPositionType { - /* 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 ; -}; - -typedef enum { - iso2EVOperationType_Charge = 0, - iso2EVOperationType_BPT = 1 -} iso2EVOperationType; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2ServiceDetailReqType { - /* 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: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 iso2PreChargeReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVTargetCurrent ; -}; - -typedef enum { - iso2serviceCategoryType_EVCharging = 0, - iso2serviceCategoryType_Internet = 1, - iso2serviceCategoryType_ContractCertificate = 2, - iso2serviceCategoryType_OtherCustom = 3 -} iso2serviceCategoryType; - -/* 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 iso2CartesianCoordinatesType { - /* 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='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 iso2SubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2SubCertificatesType_Certificate_ARRAY_SIZE 4 -struct iso2SubCertificatesType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":Certificate, urn:iso:15118:2:2016:MsgDataTypes,certificateType */ - struct { - struct { - uint8_t bytes[iso2SubCertificatesType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2SubCertificatesType_Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } Certificate; -}; - -typedef enum { - iso2parkingMethodType_AutoParking = 0, - iso2parkingMethodType_MVGuideManual = 1, - iso2parkingMethodType_Manual = 2 -} iso2parkingMethodType; - -/* 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 iso2EVEnergyTransferParameterType { - /* 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:2016:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='encryptedPrivateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 -struct iso2ContractSignatureEncryptedPrivateKeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,encryptedPrivateKeyType */ - struct { - uint8_t bytes[iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE 5 -struct iso2MagneticVectorSetupListType { - /* 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 iso2MagneticVectorSetupType array[iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE]; - uint16_t arrayLen; - } MagneticVectorSetup; -}; - -typedef enum { - iso2responseCodeType_OK = 0, - iso2responseCodeType_OK_NewSessionEstablished = 1, - iso2responseCodeType_OK_OldSessionJoined = 2, - iso2responseCodeType_OK_CertificateExpiresSoon = 3, - iso2responseCodeType_OK_IsolationValid = 4, - iso2responseCodeType_OK_IsolationWarning = 5, - iso2responseCodeType_WARNING_CertificateExpired = 6, - iso2responseCodeType_WARNING_NoCertificateAvailable = 7, - iso2responseCodeType_WARNING_CertValidationError = 8, - iso2responseCodeType_WARNING_CertVerificationError = 9, - iso2responseCodeType_WARNING_ContractCanceled = 10, - iso2responseCodeType_FAILED = 11, - iso2responseCodeType_FAILED_SequenceError = 12, - iso2responseCodeType_FAILED_ServiceIDInvalid = 13, - iso2responseCodeType_FAILED_UnknownSession = 14, - iso2responseCodeType_FAILED_ServiceSelectionInvalid = 15, - iso2responseCodeType_FAILED_SignatureError = 16, - iso2responseCodeType_FAILED_PaymentSelectionInvalid = 17, - iso2responseCodeType_FAILED_ChallengeInvalid = 18, - iso2responseCodeType_FAILED_WrongChargeParameter = 19, - iso2responseCodeType_FAILED_IsolationFault = 20, - iso2responseCodeType_FAILED_PowerDeliveryNotApplied = 21, - iso2responseCodeType_FAILED_TariffSelectionInvalid = 22, - iso2responseCodeType_FAILED_ChargingProfileInvalid = 23, - iso2responseCodeType_FAILED_MeteringSignatureNotValid = 24, - iso2responseCodeType_FAILED_NoChargeServiceSelected = 25, - iso2responseCodeType_FAILED_WrongEnergyTransferMode = 26, - iso2responseCodeType_FAILED_ContactorError = 27, - iso2responseCodeType_FAILED_CertificateRevoked = 28, - iso2responseCodeType_FAILED_CertificateNotYetValid = 29 -} iso2responseCodeType; - -/* 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 iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2X509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -typedef enum { - iso2chargingSessionType_Terminate = 0, - iso2chargingSessionType_Pause = 1 -} iso2chargingSessionType; - -typedef enum { - iso2EVSEProcessingType_Finished = 0, - iso2EVSEProcessingType_Ongoing = 1, - iso2EVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 -} iso2EVSEProcessingType; - -typedef enum { - iso2paymentOptionType_Contract = 0, - iso2paymentOptionType_ExternalPayment = 1 -} iso2paymentOptionType; - -typedef enum { - iso2EVSECheckOutStatusType_Scheduled = 0, - iso2EVSECheckOutStatusType_Completed = 1 -} iso2EVSECheckOutStatusType; - -/* 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 iso2PGPDataType_PGPKeyID_BYTES_SIZE 350 -#define iso2PGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define iso2PGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2PGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso2PGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[iso2PGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2PGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2ServiceIDListType_ServiceID_ARRAY_SIZE 10 -struct iso2ServiceIDListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ - struct { - uint16_t array[iso2ServiceIDListType_ServiceID_ARRAY_SIZE]; - uint16_t arrayLen; - } ServiceID; -}; - -/* 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 iso2EVFinePositioningSetupParametersType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2EVCheckOutStatusType_CheckOut = 0, - iso2EVCheckOutStatusType_Processing = 1, - iso2EVCheckOutStatusType_Completed = 2 -} iso2EVCheckOutStatusType; - -/* 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 iso2SensorType { - /* 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 iso2CartesianCoordinatesType 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 iso2CartesianCoordinatesType SensorOrientation ; -}; - -/* 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 iso2SignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignatureValueType_CONTENT_BYTES_SIZE 350 -struct iso2SignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignatureValueType_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[iso2SignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct iso2CableCheckReqType { - int noContent; /* avoid warning */ -}; - -typedef enum { - iso2electricalChargingDeviceStatusType_Connected = 0, - iso2electricalChargingDeviceStatusType_Disconnected = 1 -} iso2electricalChargingDeviceStatusType; - -/* 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 iso2SelectedServiceType { - /* 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 ; -}; - -typedef enum { - iso2EVSEErrorCodeType_RESSTemperatureInhibit = 0, - iso2EVSEErrorCodeType_ChargerConnectorLockFault = 1, - iso2EVSEErrorCodeType_ChargingCurrentdifferential = 2, - iso2EVSEErrorCodeType_ChargingVoltageOutOfRange = 3, - iso2EVSEErrorCodeType_ChargingSystemIncompatibility = 4, - iso2EVSEErrorCodeType_Reserved_A = 5, - iso2EVSEErrorCodeType_Reserved_B = 6, - iso2EVSEErrorCodeType_Reserved_C = 7 -} iso2EVSEErrorCodeType; - -/* 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 iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 -struct iso2DiffieHellmanPublickeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2016:MsgDataTypes,dHpublickeyType */ - struct { - uint8_t bytes[iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 iso2EVSEStatusType { - /* 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 */ - iso2EVSENotificationType EVSENotification ; -}; - -typedef enum { - iso2EVErrorCodeType_RESSTemperatureInhibit = 0, - iso2EVErrorCodeType_EVShiftPosition = 1, - iso2EVErrorCodeType_ChargerConnectorLockFault = 2, - iso2EVErrorCodeType_EVRESSMalfunction = 3, - iso2EVErrorCodeType_ChargingCurrentdifferential = 4, - iso2EVErrorCodeType_ChargingVoltageOutOfRange = 5, - iso2EVErrorCodeType_ChargingSystemIncompatibility = 6, - iso2EVErrorCodeType_Reserved_A = 7, - iso2EVErrorCodeType_Reserved_B = 8, - iso2EVErrorCodeType_Reserved_C = 9 -} iso2EVErrorCodeType; - -/* 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 iso2AuthorizationResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2MV_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 iso2MagneticVectorSetupListType MagneticVectorSetupList ; - unsigned int MagneticVectorSetupList_isUsed:1; -}; - -/* 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'. */ -#define iso2X509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define iso2X509DataType_X509SKI_BYTES_SIZE 350 -#define iso2X509DataType_X509SKI_ARRAY_SIZE 1 -#define iso2X509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2X509DataType_X509SubjectName_ARRAY_SIZE 1 -#define iso2X509DataType_X509Certificate_BYTES_SIZE 350 -#define iso2X509DataType_X509Certificate_ARRAY_SIZE 1 -#define iso2X509DataType_X509CRL_BYTES_SIZE 350 -#define iso2X509DataType_X509CRL_ARRAY_SIZE 1 -#define iso2X509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2X509DataType { - /* 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 { - struct iso2X509IssuerSerialType array[iso2X509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2X509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2X509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[iso2X509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[iso2X509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2X509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2DC_BidirectionalControlResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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[iso2DC_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 iso2MeterInfoType 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: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 iso2CostType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":costKind, urn:iso:15118:2:2016:MsgDataTypes,costKindType */ - iso2costKindType 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 iso2PhysicalValueType amount ; -}; - -/* 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 iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2ChargingStatusResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2ChargingStatusResType_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 iso2MeterInfoType 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 iso2PhysicalValueType EVSETargetPower ; - unsigned int EVSETargetPower_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumVoltage ; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMaximumDischargeCurrent ; -}; - -/* 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 iso2VehicleCheckOutResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ - iso2EVCheckOutStatusType EVSECheckOutStatus ; -}; - -/* 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 iso2CableCheckResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2ServiceDiscoveryReqType { - /* 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 iso2ServiceIDListType SupportedServiceIDs ; - unsigned int SupportedServiceIDs_isUsed:1; -}; - -/* 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 iso2SignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct iso2SignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignaturePropertiesType_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 iso2SignaturePropertyType array[iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE 3 -struct iso2PMaxScheduleEntryType { - /* 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 iso2RelativeTimeIntervalType 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 iso2PhysicalValueType array[iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE]; - uint16_t arrayLen; - } PMax; -}; - -/* 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 iso2VehicleCheckInReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckInStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckInStatusType */ - iso2EVCheckInStatusType EVCheckInStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":ParkingMethod, urn:iso:15118:2:2016:MsgDataTypes,parkingMethodType */ - iso2parkingMethodType ParkingMethod ; - unsigned int ParkingMethod_isUsed:1; -}; - -/* 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 iso2ConnectChargingDeviceResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2WeldingDetectionResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2SessionStopResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2VehicleCheckInResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2TargetPositionType TargetOffset ; - unsigned int TargetOffset_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumDischargeCurrent ; -}; - -/* 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 iso2ConsumptionCostType_Cost_ARRAY_SIZE 3 -struct iso2ConsumptionCostType { - /* 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 iso2PhysicalValueType 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 iso2CostType array[iso2ConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* 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 iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE 2 -struct iso2PaymentOptionListType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":PaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ - struct { - iso2paymentOptionType array[iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* 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'. */ -#define iso2TransformsType_Transform_ARRAY_SIZE 1 -struct iso2TransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct iso2TransformType array[iso2TransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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 iso2ParameterType_Name_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ParameterType_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2ParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[iso2ParameterType_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 iso2PhysicalValueType 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[iso2ParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* 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 iso2SessionStopReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":ChargingSession, urn:iso:15118:2:2016:MsgDataTypes,chargingSessionType */ - iso2chargingSessionType ChargingSession ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorMeasurementsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower,"urn:iso:15118:2:2016:MsgDataTypes":MeasurementDataList)', derivedBy='RESTRICTION'. */ -struct iso2SensorMeasurementsType { - /* 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":MeasurementDataList, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ - struct iso2MeasurementDataListType MeasurementDataList ; -}; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; -}; - -/* 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 iso2CertificateChainType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -struct iso2CertificateChainType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateChainType_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[iso2CertificateChainType_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 iso2SubCertificatesType SubCertificates ; - unsigned int SubCertificates_isUsed:1; -}; - -/* 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 iso2WPT_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumEnergyRequest ; - unsigned int EVMinimumEnergyRequest_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 iso2DisconnectChargingDeviceReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2MeteringReceiptResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2SessionSetupResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2SessionSetupResType_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='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 iso2ReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ReferenceType_DigestValue_BYTES_SIZE 350 -struct iso2ReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ReferenceType_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[iso2ReferenceType_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[iso2ReferenceType_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 iso2TransformsType 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 iso2DigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[iso2ReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 iso2SensorListType_Sensor_ARRAY_SIZE 5 -struct iso2SensorListType { - /* 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 iso2SensorType array[iso2SensorListType_Sensor_ARRAY_SIZE]; - uint16_t arrayLen; - } Sensor; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningSetupParametersType', base type name='EVFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorListType SensorList ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ - struct iso2SensorOrderListType 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,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 iso2WPT_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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMinimumPower ; -}; - -/* 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 iso2ParameterSetType_Parameter_ARRAY_SIZE 16 -struct iso2ParameterSetType { - /* 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 iso2ParameterType array[iso2ParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* 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 iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -struct iso2PaymentDetailsResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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[iso2PaymentDetailsResType_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_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 iso2AC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2AC_BidirectionalControlResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSETargetReactivePower ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso2AC_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 iso2MeterInfoType 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,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 iso2VehicleCheckOutReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ - iso2EVCheckOutStatusType EVCheckOutStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":CheckOutTime, http://www.w3.org/2001/XMLSchema,unsignedLong */ - uint64_t CheckOutTime ; -}; - -/* 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 iso2AlignmentCheckResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType AlignmentCheckParameters ; - unsigned int AlignmentCheckParameters_isUsed:1; -}; - -/* 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 iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE 3 -struct iso2MinimumPMaxRequestType { - /* 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 iso2PMaxScheduleEntryType array[iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } MinimumPMaxScheduleEntry; -}; - -/* 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 iso2DisconnectChargingDeviceResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2PaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ -struct iso2PaymentDetailsReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2PaymentDetailsReqType_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 iso2CertificateChainType ContractSignatureCertChain ; -}; - -/* 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 iso2Generic_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 iso2ParameterSetType GenericParameters ; -}; - -/* 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 iso2ConnectChargingDeviceReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSENominalFrequency ; -}; - -/* 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 iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 -struct iso2SalesTariffEntryType { - /* 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 iso2RelativeTimeIntervalType 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 iso2ConsumptionCostType array[iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; -}; - -/* 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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVSEMinimumDischargeCurrent ; -}; - -/* 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 iso2DisplayParametersType { - /* 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 iso2PhysicalValueType 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: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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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,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 iso2MagneticVectorType_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2MagneticVectorType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ - struct { - exi_string_character_t characters[iso2MagneticVectorType_GAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GAID ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":Distance, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t 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 iso2PhysicalValueType 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 iso2PhysicalValueType RotationVAtoGA ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":FODStatus, urn:iso:15118:2:2016:MsgDataTypes,FODStatusType */ - iso2FODStatusType FODStatus ; -}; - -/* 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 iso2SystemStatusResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ - iso2operationModeType OperationMode ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; -}; - -/* 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 iso2V2GResponseType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; -}; - -/* 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 iso2PreChargeResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -struct iso2PaymentServiceSelectionResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_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 iso2ManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2ManifestType_Reference_ARRAY_SIZE 1 -struct iso2ManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2ManifestType_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 iso2ReferenceType array[iso2ManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso2SelectedServiceListType_SelectedService_ARRAY_SIZE 16 -struct iso2SelectedServiceListType { - /* 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 iso2SelectedServiceType array[iso2SelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -/* 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 iso2Generic_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 iso2ParameterSetType GenericParameters ; -}; - -/* 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 iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 20 -struct iso2ListOfRootCertificateIDsType { - /* 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 iso2X509IssuerSerialType array[iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; - uint16_t arrayLen; - } RootCertificateID; -}; - -/* 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 iso2PairingReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType PairingParameters ; - unsigned int PairingParameters_isUsed:1; -}; - -/* 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 iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2CurrentDemandResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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[iso2CurrentDemandResType_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 iso2MeterInfoType 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,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 iso2ChargingStatusReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMinimumChargeCurrent ; - unsigned int EVMinimumChargeCurrent_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 iso2CertificateInstallationResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2CertificateChainType 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 iso2CertificateChainType 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 iso2ContractSignatureEncryptedPrivateKeyType 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 iso2DiffieHellmanPublickeyType 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 iso2EMAIDType eMAID ; -}; - -/* 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 iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE 5 -struct iso2SensorPackageType { - /* 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":MeasurementDataList)', derivedBy='RESTRICTION'. */ - struct { - struct iso2SensorMeasurementsType array[iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorMeasurements; -}; - -/* 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 iso2ServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PaymentOptionListType 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 iso2ServiceListType 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 iso2ServiceListType VASList ; - unsigned int VASList_isUsed:1; -}; - -/* 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 iso2PowerDemandResType_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -struct iso2PowerDemandResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2PhysicalValueType EVSEOutputPower ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[iso2PowerDemandResType_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 iso2MeterInfoType 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 iso2ParameterSetType PowerDemandParameters ; - unsigned int PowerDemandParameters_isUsed:1; -}; - -/* 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 iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE 24 -struct iso2ChargingProfileType { - /* 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 iso2PMaxScheduleEntryType array[iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; -}; - -/* 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 iso2SalesTariffType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct iso2SalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SalesTariffType_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[iso2SalesTariffType_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 iso2SalesTariffEntryType array[iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* 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 iso2SignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignedInfoType_Reference_ARRAY_SIZE 1 -struct iso2SignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignedInfoType_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 iso2CanonicalizationMethodType 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 iso2SignatureMethodType 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 iso2ReferenceType array[iso2SignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 iso2PowerDeliveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; -}; - -/* 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 iso2RetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2RetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2RetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[iso2RetrievalMethodType_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[iso2RetrievalMethodType_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 iso2TransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE 5 -struct iso2MagneticVectorListType { - /* 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 iso2MagneticVectorType array[iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE]; - uint16_t arrayLen; - } MagneticVector; -}; - -/* 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 iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct iso2ServiceParameterListType { - /* 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 iso2ParameterSetType array[iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* 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 iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 -struct iso2PMaxScheduleType { - /* 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 iso2PMaxScheduleEntryType array[iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } PMaxScheduleEntry; -}; - -/* 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 iso2CertificateUpdateResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2CertificateChainType 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 iso2CertificateChainType 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 iso2ContractSignatureEncryptedPrivateKeyType 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 iso2DiffieHellmanPublickeyType 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 iso2EMAIDType 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: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 iso2DC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumDischargePower ; - unsigned int EVMaximumDischargePower_isUsed:1; -}; - -/* 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 iso2CertificateUpdateReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ -struct iso2CertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateUpdateReqType_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 iso2CertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[iso2CertificateUpdateReqType_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 iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset,"urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorListType SensorList ; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ - struct iso2SensorOrderListType 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: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 iso2AlignmentCheckReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType AlignmentCheckParameters ; - unsigned int AlignmentCheckParameters_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 iso2CertificateInstallationReqType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -struct iso2CertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2CertificateInstallationReqType_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[iso2CertificateInstallationReqType_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 iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* 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 iso2ChargeParameterDiscoveryReqType { - /* 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 iso2EVEnergyTransferParameterType 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 iso2AC_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 iso2AC_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 iso2DC_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 iso2DC_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 iso2WPT_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 iso2MinimumPMaxRequestType MinimumPMaxRequest ; - unsigned int MinimumPMaxRequest_isUsed:1; -}; - -/* 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 iso2SensorPackageListType_SensorPackage_ARRAY_SIZE 5 -struct iso2SensorPackageListType { - /* 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 iso2SensorPackageType array[iso2SensorPackageListType_SensorPackage_ARRAY_SIZE]; - uint16_t arrayLen; - } SensorPackage; -}; - -/* 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 iso2ChargeLoopReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType DisplayParameters ; - unsigned int DisplayParameters_isUsed:1; -}; - -/* 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 iso2AC_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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType DisplayParameters ; - unsigned int DisplayParameters_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ - iso2EVOperationType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVPresentReactivePower ; -}; - -/* 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 iso2MV_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 iso2MagneticVectorListType MagneticVectorList ; -}; - -/* 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 iso2CurrentDemandReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType EVMaximumVoltage ; - unsigned int EVMaximumVoltage_isUsed:1; -}; - -/* 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 iso2FinePositioningSetupReqType { - /* 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 iso2EVFinePositioningSetupParametersType 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,"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 iso2LFA_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='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 iso2SAScheduleTupleType { - /* element: "urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - /* 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 iso2PMaxScheduleType 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 iso2PMaxScheduleType 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 iso2SalesTariffType 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 iso2SalesTariffType BuyBackTariff ; - unsigned int BuyBackTariff_isUsed:1; -}; - -/* 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 iso2ServiceDetailResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2ServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - -/* 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 iso2PowerDeliveryReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":ChargeProgress, urn:iso:15118:2:2016:MsgDataTypes,chargeProgressType */ - iso2chargeProgressType ChargeProgress ; - /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ - iso2EVOperationType 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 iso2ChargingProfileType ChargingProfile ; - unsigned int ChargingProfile_isUsed:1; -}; - -/* 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 iso2PairingResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2ParameterSetType PairingParameters ; - unsigned int PairingParameters_isUsed:1; -}; - -/* 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 iso2PowerDemandReqType { - /* 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2DisplayParametersType 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 iso2PhysicalValueType 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 iso2PhysicalValueType 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 iso2ParameterSetType PowerDemandParameters ; - unsigned int PowerDemandParameters_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 iso2PaymentServiceSelectionReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ - iso2paymentOptionType 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 iso2SelectedServiceType 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 iso2SelectedServiceListType SelectedVASList ; - unsigned int SelectedVASList_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 iso2LFA_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 iso2SensorPackageListType SensorPackageList ; -}; - -/* 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'. */ -#define iso2KeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_KeyName_ARRAY_SIZE 1 -#define iso2KeyInfoType_KeyValue_ARRAY_SIZE 1 -#define iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define iso2KeyInfoType_X509Data_ARRAY_SIZE 1 -#define iso2KeyInfoType_PGPData_ARRAY_SIZE 1 -#define iso2KeyInfoType_SPKIData_ARRAY_SIZE 1 -#define iso2KeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2KeyInfoType_MgmtData_ARRAY_SIZE 1 -#define iso2KeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct iso2KeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2KeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2KeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2KeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct iso2KeyValueType array[iso2KeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct iso2RetrievalMethodType array[iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct iso2X509DataType array[iso2KeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct iso2PGPDataType array[iso2KeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct iso2SPKIDataType array[iso2KeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[iso2KeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[iso2KeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[iso2KeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 iso2FinePositioningReqType { - /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2EVFinePositioningParametersType 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 iso2Generic_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 iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - unsigned int LFA_EVFinePositioningParameters_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'. */ -#define iso2SignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2SignatureType_Object_ARRAY_SIZE 1 -struct iso2SignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[iso2SignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct iso2SignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct iso2SignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct iso2KeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct iso2ObjectType array[iso2SignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - -/* 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 iso2FinePositioningSetupResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType 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 iso2EVSEFinePositioningSetupParametersType 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,"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 iso2LFA_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 iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - unsigned int MV_EVSEFinePositioningSetupParameters_isUsed:1; -}; - -/* 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 iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3 -struct iso2SAScheduleListType { - /* 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 iso2SAScheduleTupleType array[iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE]; - uint16_t arrayLen; - } SAScheduleTuple; -}; - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -struct iso2LFA_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 iso2SensorPackageListType SensorPackageList ; -}; - -/* 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 iso2MessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -struct iso2MessageHeaderType { - /* element: "urn:iso:15118:2:2016:MsgHeader":SessionID, urn:iso:15118:2:2016:MsgDataTypes,sessionIDType */ - struct { - uint8_t bytes[iso2MessageHeaderType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* 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 iso2SignatureType Signature ; - unsigned int Signature_isUsed:1; -}; - -/* 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 iso2FinePositioningResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType 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 iso2EVSEFinePositioningParametersType 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 iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgDataTypes":LFA_EVSEFinePositioningParameters, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - unsigned int LFA_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 iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - unsigned int MV_EVSEFinePositioningParameters_isUsed:1; -}; - -/* 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 iso2ChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ - iso2responseCodeType 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 iso2EVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ - iso2EVSEProcessingType EVSEProcessing ; - /* 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 iso2SAScheduleListType SAScheduleList ; - unsigned int SAScheduleList_isUsed:1; - /* 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 iso2EVSEEnergyTransferParameterType 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 iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - unsigned int AC_EVSEChargeParameter_isUsed:1; - /* 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 iso2AC_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 iso2DC_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 iso2DC_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 iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - unsigned int WPT_EVSEChargeParameter_isUsed:1; -}; - -/* 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 iso2BodyType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* 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 iso2BodyBaseType BodyElement ; - /* 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 iso2BodyBaseType 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 iso2DisconnectChargingDeviceReqType 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 iso2ConnectChargingDeviceReqType 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 iso2SystemStatusReqType 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 iso2DC_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 iso2AC_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 iso2VehicleCheckOutReqType 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 iso2VehicleCheckInReqType 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 iso2PowerDemandReqType 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 iso2PairingReqType 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 iso2AlignmentCheckReqType 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 iso2FinePositioningReqType 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 iso2FinePositioningSetupReqType FinePositioningSetupReq ; - /* element: "urn:iso:15118:2:2016:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct iso2WeldingDetectionReqType 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 iso2CurrentDemandReqType CurrentDemandReq ; - /* 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 iso2PreChargeReqType PreChargeReq ; - /* element: "urn:iso:15118:2:2016:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct iso2CableCheckReqType 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 iso2ChargingStatusReqType 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 iso2CertificateInstallationReqType 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 iso2CertificateUpdateReqType 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 iso2SessionStopReqType 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 iso2MeteringReceiptReqType 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 iso2PowerDeliveryReqType 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 iso2ChargeParameterDiscoveryReqType 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 iso2AuthorizationReqType 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 iso2PaymentDetailsReqType 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 iso2PaymentServiceSelectionReqType 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 iso2ServiceDetailReqType 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 iso2ServiceDiscoveryReqType 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 iso2SessionSetupReqType 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 iso2V2GResponseType 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 iso2DisconnectChargingDeviceResType 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 iso2ConnectChargingDeviceResType 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 iso2SystemStatusResType 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 iso2DC_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 iso2AC_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 iso2VehicleCheckOutResType 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 iso2VehicleCheckInResType 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 iso2PowerDemandResType 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 iso2PairingResType 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 iso2AlignmentCheckResType 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 iso2FinePositioningResType 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 iso2FinePositioningSetupResType 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 iso2WeldingDetectionResType 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 iso2CurrentDemandResType 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 iso2PreChargeResType 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 iso2CableCheckResType 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 iso2ChargingStatusResType 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 iso2CertificateInstallationResType 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 iso2CertificateUpdateResType CertificateUpdateRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2SessionStopResType SessionStopRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2MeteringReceiptResType 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 iso2PowerDeliveryResType 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 iso2ChargeParameterDiscoveryResType 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 iso2AuthorizationResType 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 iso2PaymentDetailsResType PaymentDetailsRes ; - /* element: "urn:iso:15118:2:2016:MsgBody":PaymentServiceSelectionRes, Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ - struct iso2PaymentServiceSelectionResType 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 iso2ServiceDetailResType 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 iso2ServiceDiscoveryResType 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 iso2SessionSetupResType SessionSetupRes ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int BodyElement_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; -}; - -/* 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 iso2AnonType_V2G_Message { - /* 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 iso2MessageHeaderType Header ; - /* 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 iso2BodyType Body ; -}; - - - -#define iso2EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIDocument_DigestValue_BYTES_SIZE 350 -#define iso2EXIFragment_stringValue_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_PgenCounter_BYTES_SIZE 350 -#define iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ -#define iso2EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ -#define iso2EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2EXIFragment_P_BYTES_SIZE 350 -#define iso2EXIFragment_Q_BYTES_SIZE 350 -#define iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_G_BYTES_SIZE 350 -#define iso2EXIFragment_J_BYTES_SIZE 350 -#define iso2EXIFragment_Y_BYTES_SIZE 350 -#define iso2EXIFragment_DigestValue_BYTES_SIZE 350 -#define iso2EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ -#define iso2EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define iso2EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_X509SKI_BYTES_SIZE 350 -#define iso2EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ -#define iso2EXIFragment_Modulus_BYTES_SIZE 350 -#define iso2EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ -#define iso2EXIFragment_Exponent_BYTES_SIZE 350 -#define iso2EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define iso2EXIFragment_Seed_BYTES_SIZE 350 -#define iso2EXIFragment_MeterID_CHARACTERS_SIZE 32 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ -#define iso2EXIFragment_X509CRL_BYTES_SIZE 350 -#define iso2EXIFragment_SPKISexp_BYTES_SIZE 350 -#define iso2EXIFragment_X509Certificate_BYTES_SIZE 350 -#define iso2EXIFragment_EVSEID_CHARACTERS_SIZE 37 + EXTRA_CHAR /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ -#define iso2EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ -#define iso2EXIFragment_GAID_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR - - -/* Global elements of EXI Document */ -struct iso2EXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso2AnonType_V2G_Message V2G_Message ; - struct iso2ServiceDiscoveryReqType ServiceDiscoveryReq ; - struct iso2ServiceDiscoveryResType ServiceDiscoveryRes ; - struct iso2FinePositioningReqType FinePositioningReq ; - struct iso2FinePositioningResType FinePositioningRes ; - struct iso2DisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; - struct iso2DisconnectChargingDeviceResType DisconnectChargingDeviceRes ; - struct iso2PowerDemandReqType PowerDemandReq ; - struct iso2MeteringReceiptReqType MeteringReceiptReq ; - struct iso2PaymentDetailsReqType PaymentDetailsReq ; - struct iso2PowerDemandResType PowerDemandRes ; - struct iso2MeteringReceiptResType MeteringReceiptRes ; - struct iso2PaymentDetailsResType PaymentDetailsRes ; - struct iso2SessionSetupReqType SessionSetupReq ; - struct iso2SessionSetupResType SessionSetupRes ; - struct iso2CableCheckReqType CableCheckReq ; - struct iso2CableCheckResType CableCheckRes ; - struct iso2CertificateInstallationReqType CertificateInstallationReq ; - struct iso2CertificateInstallationResType CertificateInstallationRes ; - struct iso2SystemStatusReqType SystemStatusReq ; - struct iso2SystemStatusResType SystemStatusRes ; - struct iso2PairingReqType PairingReq ; - struct iso2WeldingDetectionReqType WeldingDetectionReq ; - struct iso2ConnectChargingDeviceReqType ConnectChargingDeviceReq ; - struct iso2PairingResType PairingRes ; - struct iso2WeldingDetectionResType WeldingDetectionRes ; - struct iso2ConnectChargingDeviceResType ConnectChargingDeviceRes ; - struct iso2CertificateUpdateReqType CertificateUpdateReq ; - struct iso2CertificateUpdateResType CertificateUpdateRes ; - struct iso2PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso2PowerDeliveryReqType PowerDeliveryReq ; - struct iso2PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso2PowerDeliveryResType PowerDeliveryRes ; - struct iso2ChargingStatusReqType ChargingStatusReq ; - struct iso2ChargingStatusResType ChargingStatusRes ; - struct iso2BodyBaseType BodyElement ; - struct iso2AC_BidirectionalControlReqType AC_BidirectionalControlReq ; - struct iso2AC_BidirectionalControlResType AC_BidirectionalControlRes ; - struct iso2VehicleCheckInReqType VehicleCheckInReq ; - struct iso2CurrentDemandReqType CurrentDemandReq ; - struct iso2VehicleCheckInResType VehicleCheckInRes ; - struct iso2PreChargeReqType PreChargeReq ; - struct iso2CurrentDemandResType CurrentDemandRes ; - struct iso2PreChargeResType PreChargeRes ; - struct iso2AlignmentCheckReqType AlignmentCheckReq ; - struct iso2BodyBaseType V2GRequest ; - struct iso2SessionStopReqType SessionStopReq ; - struct iso2AuthorizationReqType AuthorizationReq ; - struct iso2AlignmentCheckResType AlignmentCheckRes ; - struct iso2SessionStopResType SessionStopRes ; - struct iso2AuthorizationResType AuthorizationRes ; - struct iso2VehicleCheckOutReqType VehicleCheckOutReq ; - struct iso2ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso2VehicleCheckOutResType VehicleCheckOutRes ; - struct iso2ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct iso2V2GResponseType V2GResponse ; - struct iso2FinePositioningSetupReqType FinePositioningSetupReq ; - struct iso2FinePositioningSetupResType FinePositioningSetupRes ; - struct iso2ServiceDetailReqType ServiceDetailReq ; - struct iso2DC_BidirectionalControlReqType DC_BidirectionalControlReq ; - struct iso2ServiceDetailResType ServiceDetailRes ; - struct iso2DC_BidirectionalControlResType DC_BidirectionalControlRes ; - struct iso2LFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; - struct iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - struct iso2RelativeTimeIntervalType RelativeTimeInterval ; - struct iso2SalesTariffEntryType SalesTariffEntry ; - struct iso2LFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; - struct iso2AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - struct iso2EVEnergyTransferParameterType EVEnergyTransferParameter ; - struct iso2DC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; - struct iso2SAScheduleListType SAScheduleList ; - struct iso2EVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; - struct iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - struct iso2DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso2DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - struct iso2EVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; - struct iso2AC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; - struct iso2EVFinePositioningParametersType EVFinePositioningParameters ; - struct iso2WPT_EVChargeParameterType WPT_EVChargeParameter ; - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - struct iso2EVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; - struct iso2AC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; - struct iso2EVSEFinePositioningParametersType EVSEFinePositioningParameters ; - struct iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - struct iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct iso2PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso2Generic_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; - struct iso2DC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; - struct iso2SignaturePropertyType SignatureProperty ; - struct iso2DSAKeyValueType DSAKeyValue ; - struct iso2SignaturePropertiesType SignatureProperties ; - struct iso2KeyValueType KeyValue ; - struct iso2TransformsType Transforms ; - struct iso2DigestMethodType DigestMethod ; - struct iso2SignatureType Signature ; - struct iso2RetrievalMethodType RetrievalMethod ; - struct iso2ManifestType Manifest ; - struct iso2ReferenceType Reference ; - struct iso2CanonicalizationMethodType CanonicalizationMethod ; - struct iso2RSAKeyValueType RSAKeyValue ; - struct iso2TransformType Transform ; - struct iso2PGPDataType PGPData ; - struct { - exi_string_character_t characters[iso2EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso2SignatureMethodType SignatureMethod ; - struct iso2KeyInfoType KeyInfo ; - struct iso2SPKIDataType SPKIData ; - struct iso2X509DataType X509Data ; - struct iso2SignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[iso2EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[iso2EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso2SignedInfoType SignedInfo ; - struct iso2ObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - 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; - unsigned int SessionSetupRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - 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 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 PaymentServiceSelectionReq_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - 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 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_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 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 EVSEFinePositioningSetupParameters_isUsed:1; - unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int DC_EVSEChargeParameter_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 LFA_EVSEFinePositioningParameters_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 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; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct iso2EXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct iso2PhysicalValueType EVMaximumVoltage ; - uint32_t FrequencyChannel ; - iso2EVSEProcessingType EVProcessing ; - int BulkChargingComplete ; - iso2parkingMethodType ParkingMethod ; - uint8_t SAScheduleTupleID ; - uint16_t Distance ; - struct iso2ParameterSetType ParameterSet ; - struct iso2PhysicalValueType EVMinimumDischargeCurrent ; - uint8_t SignalSeparationTime ; - struct iso2EVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; - struct iso2PhysicalValueType EVSEMaximumVoltage ; - struct iso2DC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; - iso2chargingSessionType ChargingSession ; - struct iso2SubCertificatesType SubCertificates ; - struct iso2RetrievalMethodType RetrievalMethod ; - struct iso2MagneticVectorSetupListType MagneticVectorSetupList ; - struct iso2ParameterSetType PairingParameters ; - struct iso2PhysicalValueType EVSEMinimumPower ; - struct iso2AC_BidirectionalControlReqType AC_BidirectionalControlReq ; - struct iso2CostType Cost ; - struct iso2AC_BidirectionalControlResType AC_BidirectionalControlRes ; - struct iso2SalesTariffType BuyBackTariff ; - int16_t XCoordinate ; - iso2EVCheckOutStatusType EVSECheckOutStatus ; - struct { - exi_string_character_t characters[iso2EXIFragment_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - int16_t RetryCounter ; - struct iso2PhysicalValueType EVSEMaximumDischargeCurrent ; - struct iso2SensorType Sensor ; - uint64_t MeterReadingCharged ; - int64_t HMACOutputLength ; - struct iso2V2GResponseType V2GResponse ; - struct iso2PhysicalValueType EVMinimumVoltage ; - struct iso2PhysicalValueType EVMinimumEnergyRequest ; - struct iso2RelativeTimeIntervalType RelativeTimeInterval ; - struct iso2WPT_EVChargeParameterType WPT_EVChargeParameter ; - struct iso2SAScheduleTupleType SAScheduleTuple ; - uint16_t ServiceID ; - struct { - uint8_t bytes[iso2EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct { - exi_string_character_t characters[iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - struct iso2PhysicalValueType AngleGAtoVA ; - int boolValue ; - struct iso2PhysicalValueType EVMaximumDischargeCurrent ; - uint16_t NotificationMaxDelay ; - struct iso2PhysicalValueType EVSEMaximumDischargePower ; - struct iso2PGPDataType PGPData ; - struct iso2PhysicalValueType EVSEMaximumChargePower ; - struct { - uint8_t bytes[iso2EXIFragment_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - struct iso2PhysicalValueType EVSEEnergyToBeDelivered ; - struct iso2PhysicalValueType EVMaximumPower ; - struct iso2PhysicalValueType EVMaximumCurrent ; - struct iso2RSAKeyValueType RSAKeyValue ; - struct iso2PhysicalValueType EVSENominalVoltage ; - struct iso2MagneticVectorType MagneticVector ; - struct { - exi_string_character_t characters[iso2EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct iso2SignatureType Signature ; - iso2electricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; - iso2EVSEProcessingType EVSEProcessing ; - iso2FODStatusType FODStatus ; - struct iso2PowerDeliveryResType PowerDeliveryRes ; - struct iso2SessionStopResType SessionStopRes ; - struct iso2WPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; - iso2responseCodeType ResponseCode ; - struct iso2PhysicalValueType EVTargetEnergyRequest ; - struct iso2FinePositioningSetupReqType FinePositioningSetupReq ; - struct iso2PhysicalValueType EVSEPresentCurrent ; - struct iso2FinePositioningSetupResType FinePositioningSetupRes ; - struct iso2PMaxScheduleEntryType ProfileEntry ; - struct { - exi_string_character_t characters[iso2EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct iso2CertificateChainType SAProvisioningCertificateChain ; - struct iso2PowerDeliveryReqType PowerDeliveryReq ; - struct iso2SessionStopReqType SessionStopReq ; - int ReceiptRequired ; - struct iso2ChargingProfileType ChargingProfile ; - uint16_t MaxSupportingPoints ; - uint32_t start ; - struct iso2PhysicalValueType EVMinimumChargePower ; - struct iso2PhysicalValueType amount ; - struct iso2PreChargeReqType PreChargeReq ; - struct { - uint8_t bytes[iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - uint32_t PackageIndex ; - struct iso2PreChargeResType PreChargeRes ; - struct { - uint8_t bytes[iso2EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct { - uint8_t bytes[iso2EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - exi_string_character_t characters[iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[iso2EXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - struct { - uint8_t bytes[iso2EXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct iso2CertificateChainType ContractSignatureCertChain ; - struct iso2MV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; - struct iso2PhysicalValueType EVSEMinimumDischargeCurrent ; - struct iso2PhysicalValueType EVMaximumChargeCurrent ; - uint16_t AlignmentOffset ; - struct { - uint8_t bytes[iso2EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - int8_t RemainingTimeToTargetSOC ; - struct { - uint8_t bytes[iso2EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct iso2SensorMeasurementsType SensorMeasurements ; - struct iso2SalesTariffType SalesTariff ; - struct { - uint8_t bytes[iso2EXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct iso2PhysicalValueType EVSEMaximumPower ; - struct iso2TargetPositionType TargetOffset ; - struct iso2ParameterSetType PowerDemandParameters ; - struct { - uint8_t bytes[iso2EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct iso2DisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; - struct iso2DisconnectChargingDeviceResType DisconnectChargingDeviceRes ; - struct iso2DSAKeyValueType DSAKeyValue ; - struct iso2SalesTariffEntryType SalesTariffEntry ; - struct iso2CertificateInstallationResType CertificateInstallationRes ; - struct iso2CanonicalizationMethodType CanonicalizationMethod ; - struct iso2Generic_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; - struct iso2PhysicalValueType EVSEMinimumVoltage ; - struct iso2SystemStatusResType SystemStatusRes ; - struct iso2PhysicalValueType EVSEOutputPower ; - struct iso2SignedInfoType SignedInfo ; - struct iso2PhysicalValueType EVMinimumChargeCurrent ; - iso2costKindType costKind ; - struct iso2SystemStatusReqType SystemStatusReq ; - struct iso2CableCheckReqType CableCheckReq ; - uint8_t NumEPriceLevels ; - int EVSEVoltageLimitAchieved ; - uint8_t PackageSeparationTime ; - struct iso2CableCheckResType CableCheckRes ; - iso2EVCheckInStatusType EVCheckInStatus ; - struct iso2PMaxScheduleType PMaxDischargeSchedule ; - struct iso2PhysicalValueType EVMinimumPower ; - struct iso2PhysicalValueType ChargingPerformance ; - struct iso2AlignmentCheckReqType AlignmentCheckReq ; - iso2mechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; - uint16_t VehicleSpace ; - struct iso2AlignmentCheckResType AlignmentCheckRes ; - struct iso2PhysicalValueType EVMinimumDischargePower ; - int8_t RemainingTimeToMinimumSOC ; - struct iso2AuthorizationResType AuthorizationRes ; - struct iso2CertificateInstallationReqType CertificateInstallationReq ; - struct iso2PaymentDetailsReqType PaymentDetailsReq ; - struct iso2PaymentDetailsResType PaymentDetailsRes ; - struct iso2AuthorizationReqType AuthorizationReq ; - struct iso2PhysicalValueType EVTargetCurrent ; - struct iso2SessionSetupReqType SessionSetupReq ; - struct iso2SessionSetupResType SessionSetupRes ; - struct iso2PhysicalValueType EVSENominalFrequency ; - struct iso2MessageHeaderType Header ; - uint8_t NumberOfSensors ; - int64_t EVSETimeStamp ; - int16_t MeterStatus ; - struct iso2MV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; - iso2chargeProgressType ChargeProgress ; - struct { - exi_string_character_t characters[iso2EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct iso2PMaxScheduleType PMaxSchedule ; - uint32_t duration ; - int8_t RemainingTimeToBulkSOC ; - struct iso2CartesianCoordinatesType SensorOrientation ; - struct iso2PhysicalValueType EVSEMaximumChargeCurrent ; - struct iso2LFA_EVSEFinePositioningParametersType LFA_EVSEFinePositioningParameters ; - struct iso2VehicleCheckInResType VehicleCheckInRes ; - struct iso2PMaxScheduleEntryType PMaxScheduleEntry ; - struct iso2SAScheduleListType SAScheduleList ; - struct { - uint8_t bytes[iso2EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct iso2PaymentOptionListType PaymentOptionList ; - struct iso2ContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - struct iso2VehicleCheckInReqType VehicleCheckInReq ; - struct { - uint8_t bytes[iso2EXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - uint64_t CheckOutTime ; - int8_t CurrentSOC ; - int16_t ZCoordinate ; - uint16_t MeasurementData ; - struct iso2PairingResType PairingRes ; - struct iso2PhysicalValueType EVSEMaximumCurrent ; - struct iso2LFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; - struct iso2ParameterSetType AlignmentCheckParameters ; - int8_t EffectiveRadiatedPower ; - struct iso2PairingReqType PairingReq ; - int16_t Value ; - int8_t byteValue ; - struct iso2CurrentDemandReqType CurrentDemandReq ; - struct iso2Generic_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; - struct iso2CurrentDemandResType CurrentDemandRes ; - struct iso2AC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; - struct { - uint8_t bytes[iso2EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - struct iso2SelectedServiceType SelectedEnergyTransferService ; - struct iso2PhysicalValueType startValue ; - struct iso2SelectedServiceListType SelectedVASList ; - struct iso2ChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct iso2ChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - struct { - uint8_t bytes[iso2EXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - int8_t TargetSOC ; - struct iso2EVSEStatusType EVSEStatus ; - struct iso2PhysicalValueType EVSEMinimumChargeCurrent ; - iso2electricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; - int64_t X509SerialNumber ; - iso2paymentOptionType PaymentOption ; - struct iso2TransformsType Transforms ; - struct iso2PhysicalValueType EVSEPeakCurrentRipple ; - struct iso2ConsumptionCostType ConsumptionCost ; - struct iso2EVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; - uint8_t EPriceLevel ; - struct { - uint8_t bytes[iso2EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct iso2X509IssuerSerialType X509IssuerSerial ; - struct iso2SPKIDataType SPKIData ; - struct iso2MagneticVectorListType MagneticVectorList ; - struct iso2EVSEFinePositioningParametersType EVSEFinePositioningParameters ; - struct iso2PhysicalValueType EVTargetPower ; - struct iso2SensorPackageListType SensorPackageList ; - uint32_t DepartureTime ; - int InletHot ; - struct iso2PhysicalValueType EVPresentActivePower ; - struct iso2X509DataType X509Data ; - int16_t YCoordinate ; - struct iso2KeyValueType KeyValue ; - struct iso2DisplayParametersType DisplayParameters ; - int EVSEPowerLimitAchieved ; - struct iso2BodyType Body ; - struct iso2DC_EVChargeParameterType DC_EVChargeParameter ; - struct iso2ServiceType Service ; - struct iso2SignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[iso2EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - struct { - uint8_t bytes[iso2EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct iso2LFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; - struct iso2MinimumPMaxRequestType MinimumPMaxRequest ; - struct iso2FinePositioningReqType FinePositioningReq ; - struct iso2ServiceListType EnergyTransferServiceList ; - struct iso2FinePositioningResType FinePositioningRes ; - struct iso2AC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; - int FreeService ; - struct iso2AC_EVSEChargeParameterType AC_EVSEChargeParameter ; - uint8_t SensorID ; - struct iso2PhysicalValueType EVSECurrentRegulationTolerance ; - iso2mechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; - struct iso2EVEnergyTransferParameterType EVEnergyTransferParameter ; - uint8_t SignalPulseDuration ; - int16_t shortValue ; - struct iso2ManifestType Manifest ; - struct iso2DC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct iso2MeteringReceiptReqType MeteringReceiptReq ; - struct { - exi_string_character_t characters[iso2EXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - struct iso2MeteringReceiptResType MeteringReceiptRes ; - struct iso2ServiceDiscoveryReqType ServiceDiscoveryReq ; - uint8_t SalesTariffID ; - struct iso2ServiceDiscoveryResType ServiceDiscoveryRes ; - struct { - uint8_t bytes[iso2EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct iso2MagneticVectorSetupType MagneticVectorSetup ; - struct iso2DigestMethodType DigestMethod ; - struct { - uint8_t bytes[iso2EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - uint64_t MeterReadingDischarged ; - struct iso2MeasurementDataListType MeasurementDataList ; - struct iso2SignaturePropertiesType SignatureProperties ; - struct iso2CartesianCoordinatesType SensorPosition ; - struct iso2LFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; - struct iso2EMAIDType eMAID ; - struct iso2SensorPackageType SensorPackage ; - iso2EVCheckOutStatusType EVCheckOutStatus ; - struct { - uint8_t bytes[iso2EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct iso2X509IssuerSerialType RootCertificateID ; - struct iso2DC_BidirectionalControlReqType DC_BidirectionalControlReq ; - struct iso2PhysicalValueType EVSEPresentVoltage ; - struct iso2DC_BidirectionalControlResType DC_BidirectionalControlRes ; - struct iso2ServiceListType VASList ; - struct iso2MeterInfoType MeterInfo ; - struct iso2PhysicalValueType EVSETargetReactivePower ; - struct iso2ChargingStatusReqType ChargingStatusReq ; - struct iso2ParameterSetType GenericParameters ; - struct iso2ChargingStatusResType ChargingStatusRes ; - struct iso2PhysicalValueType EVMaximumChargePower ; - int8_t BulkSOC ; - uint8_t NumberOfSignalPackages ; - uint16_t ParameterSetID ; - struct iso2PhysicalValueType PMax ; - struct iso2PhysicalValueType EVMaximumEnergyRequest ; - iso2EVOperationType EVOperation ; - struct iso2CertificateUpdateResType CertificateUpdateRes ; - int ChargingComplete ; - struct iso2ListOfRootCertificateIDsType ListOfRootCertificateIDs ; - struct iso2PhysicalValueType RotationVAtoGA ; - struct iso2PhysicalValueType EVTargetVoltage ; - struct iso2CertificateUpdateReqType CertificateUpdateReq ; - struct iso2ConnectChargingDeviceResType ConnectChargingDeviceRes ; - struct iso2DiffieHellmanPublickeyType DHpublickey ; - struct iso2ServiceParameterListType ServiceParameterList ; - struct iso2SignatureValueType SignatureValue ; - struct iso2PhysicalValueType physicalValue ; - iso2operationModeType OperationMode ; - int EVSECurrentLimitAchieved ; - struct iso2ServiceDetailReqType ServiceDetailReq ; - struct iso2ServiceDetailResType ServiceDetailRes ; - int32_t intValue ; - struct iso2PhysicalValueType EVMaximumDischargePower ; - int8_t MinimumSOC ; - iso2paymentOptionType SelectedPaymentOption ; - struct iso2AnonType_V2G_Message V2G_Message ; - struct { - exi_string_character_t characters[iso2EXIFragment_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - int64_t TMeter ; - struct iso2SensorOrderListType SensorOrder ; - struct iso2ServiceIDListType SupportedServiceIDs ; - struct { - uint8_t bytes[iso2EXIFragment_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - struct iso2EVFinePositioningParametersType EVFinePositioningParameters ; - struct iso2SensorListType SensorList ; - struct iso2KeyInfoType KeyInfo ; - struct iso2ConnectChargingDeviceReqType ConnectChargingDeviceReq ; - struct iso2AC_EVChargeParameterType AC_EVChargeParameter ; - struct iso2ParameterType Parameter ; - struct iso2WeldingDetectionResType WeldingDetectionRes ; - struct { - exi_string_character_t characters[iso2EXIFragment_GAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } GAID ; - uint16_t SignalFrequency ; - struct iso2PhysicalValueType EVSETargetPower ; - struct iso2DC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; - struct iso2SignatureMethodType SignatureMethod ; - struct iso2WeldingDetectionReqType WeldingDetectionReq ; - struct iso2SelectedServiceType SelectedService ; - struct iso2PhysicalValueType EVInputPower ; - struct iso2VehicleCheckOutReqType VehicleCheckOutReq ; - struct iso2PowerDemandReqType PowerDemandReq ; - struct iso2VehicleCheckOutResType VehicleCheckOutRes ; - uint16_t CurrentRange ; - struct iso2PhysicalValueType EVPresentReactivePower ; - struct { - exi_string_character_t characters[iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct iso2BodyBaseType V2GRequest ; - struct iso2ReferenceType Reference ; - struct iso2BodyBaseType BodyElement ; - struct iso2PMaxScheduleEntryType MinimumPMaxScheduleEntry ; - struct iso2EVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; - iso2EVSENotificationType EVSENotification ; - struct iso2PaymentServiceSelectionReqType PaymentServiceSelectionReq ; - struct iso2PaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct iso2TransformType Transform ; - struct iso2ObjectType Object ; - uint16_t TargetOffsetY ; - struct iso2PowerDemandResType PowerDemandRes ; - uint16_t TargetOffsetX ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int EVMaximumVoltage_isUsed:1; - unsigned int FrequencyChannel_isUsed:1; - unsigned int EVProcessing_isUsed:1; - unsigned int BulkChargingComplete_isUsed:1; - unsigned int ParkingMethod_isUsed:1; - unsigned int SAScheduleTupleID_isUsed:1; - unsigned int Distance_isUsed:1; - unsigned int ParameterSet_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 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 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 LFA_EVSEFinePositioningParameters_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 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 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 DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int MeterReadingDischarged_isUsed:1; - unsigned int MeasurementDataList_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 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_ISO2_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_iso2EXIDocument(struct iso2EXIDocument* exiDoc); -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -void init_iso2EXIFragment(struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ -void init_iso2RetrievalMethodType(struct iso2RetrievalMethodType* iso2RetrievalMethodType); -void init_iso2AuthorizationResType(struct iso2AuthorizationResType* iso2AuthorizationResType); -void init_iso2MV_EVSEFinePositioningSetupParametersType(struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -void init_iso2X509DataType(struct iso2X509DataType* iso2X509DataType); -void init_iso2RSAKeyValueType(struct iso2RSAKeyValueType* iso2RSAKeyValueType); -void init_iso2DC_BidirectionalControlResType(struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -void init_iso2CostType(struct iso2CostType* iso2CostType); -void init_iso2ChargingStatusResType(struct iso2ChargingStatusResType* iso2ChargingStatusResType); -void init_iso2MeterInfoType(struct iso2MeterInfoType* iso2MeterInfoType); -void init_iso2AC_EVChargeParameterType(struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -void init_iso2AC_EVSEBidirectionalParameterType(struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -void init_iso2VehicleCheckOutResType(struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -void init_iso2MagneticVectorListType(struct iso2MagneticVectorListType* iso2MagneticVectorListType); -void init_iso2CableCheckResType(struct iso2CableCheckResType* iso2CableCheckResType); -void init_iso2ServiceDiscoveryReqType(struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -void init_iso2ServiceType(struct iso2ServiceType* iso2ServiceType); -void init_iso2ServiceParameterListType(struct iso2ServiceParameterListType* iso2ServiceParameterListType); -void init_iso2PMaxScheduleType(struct iso2PMaxScheduleType* iso2PMaxScheduleType); -void init_iso2SignaturePropertiesType(struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -void init_iso2PMaxScheduleEntryType(struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -void init_iso2SignatureType(struct iso2SignatureType* iso2SignatureType); -void init_iso2VehicleCheckInReqType(struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -void init_iso2ConnectChargingDeviceResType(struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -void init_iso2WeldingDetectionResType(struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -void init_iso2SessionStopResType(struct iso2SessionStopResType* iso2SessionStopResType); -void init_iso2VehicleCheckInResType(struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -void init_iso2ServiceListType(struct iso2ServiceListType* iso2ServiceListType); -void init_iso2CertificateUpdateResType(struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -void init_iso2FinePositioningSetupResType(struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -void init_iso2AC_EVBidirectionalParameterType(struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -void init_iso2DC_BidirectionalControlReqType(struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -void init_iso2CertificateUpdateReqType(struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -void init_iso2ConsumptionCostType(struct iso2ConsumptionCostType* iso2ConsumptionCostType); -void init_iso2SAScheduleListType(struct iso2SAScheduleListType* iso2SAScheduleListType); -void init_iso2MagneticVectorSetupType(struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -void init_iso2LFA_EVSEFinePositioningSetupParametersType(struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -void init_iso2PaymentOptionListType(struct iso2PaymentOptionListType* iso2PaymentOptionListType); -void init_iso2LFA_EVSEFinePositioningParametersType(struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -void init_iso2RelativeTimeIntervalType(struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -void init_iso2EVFinePositioningParametersType(struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -void init_iso2AlignmentCheckReqType(struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -void init_iso2CertificateInstallationReqType(struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -void init_iso2TransformsType(struct iso2TransformsType* iso2TransformsType); -void init_iso2ObjectType(struct iso2ObjectType* iso2ObjectType); -void init_iso2SensorOrderListType(struct iso2SensorOrderListType* iso2SensorOrderListType); -void init_iso2ChargeParameterDiscoveryReqType(struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -void init_iso2ParameterType(struct iso2ParameterType* iso2ParameterType); -void init_iso2SessionStopReqType(struct iso2SessionStopReqType* iso2SessionStopReqType); -void init_iso2SensorMeasurementsType(struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -void init_iso2DC_EVSEChargeParameterType(struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -void init_iso2SensorPackageListType(struct iso2SensorPackageListType* iso2SensorPackageListType); -void init_iso2MeasurementDataListType(struct iso2MeasurementDataListType* iso2MeasurementDataListType); -void init_iso2CertificateChainType(struct iso2CertificateChainType* iso2CertificateChainType); -void init_iso2SignaturePropertyType(struct iso2SignaturePropertyType* iso2SignaturePropertyType); -void init_iso2TransformType(struct iso2TransformType* iso2TransformType); -void init_iso2EMAIDType(struct iso2EMAIDType* iso2EMAIDType); -void init_iso2DSAKeyValueType(struct iso2DSAKeyValueType* iso2DSAKeyValueType); -void init_iso2EntryType(struct iso2EntryType* iso2EntryType); -void init_iso2MessageHeaderType(struct iso2MessageHeaderType* iso2MessageHeaderType); -void init_iso2WPT_EVChargeParameterType(struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -void init_iso2DisconnectChargingDeviceReqType(struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -void init_iso2ChargeLoopReqType(struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -void init_iso2V2GRequestType(struct iso2V2GRequestType* iso2V2GRequestType); -void init_iso2MeteringReceiptResType(struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -void init_iso2SessionSetupResType(struct iso2SessionSetupResType* iso2SessionSetupResType); -void init_iso2AC_BidirectionalControlReqType(struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -void init_iso2MV_EVSEFinePositioningParametersType(struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -void init_iso2ReferenceType(struct iso2ReferenceType* iso2ReferenceType); -void init_iso2EVSEEnergyTransferParameterType(struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -void init_iso2MeteringReceiptReqType(struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -void init_iso2KeyValueType(struct iso2KeyValueType* iso2KeyValueType); -void init_iso2SensorListType(struct iso2SensorListType* iso2SensorListType); -void init_iso2CurrentDemandReqType(struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -void init_iso2FinePositioningSetupReqType(struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -void init_iso2LFA_EVFinePositioningSetupParametersType(struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -void init_iso2SAScheduleTupleType(struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -void init_iso2WPT_EVSEChargeParameterType(struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -void init_iso2FinePositioningResType(struct iso2FinePositioningResType* iso2FinePositioningResType); -void init_iso2BodyBaseType(struct iso2BodyBaseType* iso2BodyBaseType); -void init_iso2ServiceDetailResType(struct iso2ServiceDetailResType* iso2ServiceDetailResType); -void init_iso2PowerDeliveryReqType(struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -void init_iso2PairingResType(struct iso2PairingResType* iso2PairingResType); -void init_iso2AuthorizationReqType(struct iso2AuthorizationReqType* iso2AuthorizationReqType); -void init_iso2ParameterSetType(struct iso2ParameterSetType* iso2ParameterSetType); -void init_iso2SPKIDataType(struct iso2SPKIDataType* iso2SPKIDataType); -void init_iso2PaymentDetailsResType(struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -void init_iso2SignatureMethodType(struct iso2SignatureMethodType* iso2SignatureMethodType); -void init_iso2AC_BidirectionalControlResType(struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -void init_iso2VehicleCheckOutReqType(struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -void init_iso2WeldingDetectionReqType(struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -void init_iso2AlignmentCheckResType(struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -void init_iso2PowerDemandReqType(struct iso2PowerDemandReqType* iso2PowerDemandReqType); -void init_iso2MinimumPMaxRequestType(struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -void init_iso2DisconnectChargingDeviceResType(struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -void init_iso2SessionSetupReqType(struct iso2SessionSetupReqType* iso2SessionSetupReqType); -void init_iso2PaymentDetailsReqType(struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -void init_iso2Generic_EVFinePositioningParametersType(struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -void init_iso2ConnectChargingDeviceReqType(struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -void init_iso2AC_EVSEChargeParameterType(struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -void init_iso2SalesTariffEntryType(struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -void init_iso2DC_EVSEBidirectionalParameterType(struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -void init_iso2CanonicalizationMethodType(struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -void init_iso2DisplayParametersType(struct iso2DisplayParametersType* iso2DisplayParametersType); -void init_iso2DC_EVBidirectionalParameterType(struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -void init_iso2PaymentServiceSelectionReqType(struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -void init_iso2MagneticVectorType(struct iso2MagneticVectorType* iso2MagneticVectorType); -void init_iso2PhysicalValueType(struct iso2PhysicalValueType* iso2PhysicalValueType); -void init_iso2SystemStatusReqType(struct iso2SystemStatusReqType* iso2SystemStatusReqType); -void init_iso2SystemStatusResType(struct iso2SystemStatusResType* iso2SystemStatusResType); -void init_iso2EVSEFinePositioningSetupParametersType(struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -void init_iso2V2GResponseType(struct iso2V2GResponseType* iso2V2GResponseType); -void init_iso2BodyType(struct iso2BodyType* iso2BodyType); -void init_iso2PreChargeResType(struct iso2PreChargeResType* iso2PreChargeResType); -void init_iso2EVSEFinePositioningParametersType(struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -void init_iso2PaymentServiceSelectionResType(struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -void init_iso2DigestMethodType(struct iso2DigestMethodType* iso2DigestMethodType); -void init_iso2TargetPositionType(struct iso2TargetPositionType* iso2TargetPositionType); -void init_iso2LFA_EVFinePositioningParametersType(struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -void init_iso2DC_EVChargeParameterType(struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -void init_iso2ServiceDetailReqType(struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -void init_iso2PreChargeReqType(struct iso2PreChargeReqType* iso2PreChargeReqType); -void init_iso2ManifestType(struct iso2ManifestType* iso2ManifestType); -void init_iso2AnonType_V2G_Message(struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -void init_iso2SelectedServiceListType(struct iso2SelectedServiceListType* iso2SelectedServiceListType); -void init_iso2Generic_EVSEFinePositioningParametersType(struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -void init_iso2CartesianCoordinatesType(struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -void init_iso2KeyInfoType(struct iso2KeyInfoType* iso2KeyInfoType); -void init_iso2SubCertificatesType(struct iso2SubCertificatesType* iso2SubCertificatesType); -void init_iso2ListOfRootCertificateIDsType(struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -void init_iso2EVEnergyTransferParameterType(struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -void init_iso2ContractSignatureEncryptedPrivateKeyType(struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -void init_iso2MagneticVectorSetupListType(struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -void init_iso2PairingReqType(struct iso2PairingReqType* iso2PairingReqType); -void init_iso2CurrentDemandResType(struct iso2CurrentDemandResType* iso2CurrentDemandResType); -void init_iso2X509IssuerSerialType(struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -void init_iso2ChargingStatusReqType(struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -void init_iso2CertificateInstallationResType(struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -void init_iso2SensorPackageType(struct iso2SensorPackageType* iso2SensorPackageType); -void init_iso2PGPDataType(struct iso2PGPDataType* iso2PGPDataType); -void init_iso2ServiceDiscoveryResType(struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -void init_iso2ServiceIDListType(struct iso2ServiceIDListType* iso2ServiceIDListType); -void init_iso2EVFinePositioningSetupParametersType(struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -void init_iso2ChargeParameterDiscoveryResType(struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -void init_iso2PowerDemandResType(struct iso2PowerDemandResType* iso2PowerDemandResType); -void init_iso2ChargingProfileType(struct iso2ChargingProfileType* iso2ChargingProfileType); -void init_iso2FinePositioningReqType(struct iso2FinePositioningReqType* iso2FinePositioningReqType); -void init_iso2SalesTariffType(struct iso2SalesTariffType* iso2SalesTariffType); -void init_iso2SensorType(struct iso2SensorType* iso2SensorType); -void init_iso2SignatureValueType(struct iso2SignatureValueType* iso2SignatureValueType); -void init_iso2SignedInfoType(struct iso2SignedInfoType* iso2SignedInfoType); -void init_iso2PowerDeliveryResType(struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -void init_iso2CableCheckReqType(struct iso2CableCheckReqType* iso2CableCheckReqType); -void init_iso2SelectedServiceType(struct iso2SelectedServiceType* iso2SelectedServiceType); -void init_iso2DiffieHellmanPublickeyType(struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -void init_iso2EVSEStatusType(struct iso2EVSEStatusType* iso2EVSEStatusType); - - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso2/iso2EXIDatatypesDecoder.c b/src/iso2/iso2EXIDatatypesDecoder.c deleted file mode 100644 index b7bd293..0000000 --- a/src/iso2/iso2EXIDatatypesDecoder.c +++ /dev/null @@ -1,86541 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso2EXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "iso2EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso2_DATATYPES_DECODER_C -#define EXI_iso2_DATATYPES_DECODER_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType); -static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType); -static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType); -static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType); -static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType); -static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType); -static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType); -static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType); -static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType); -static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType); -static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType); -static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType); -static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType); -static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType); -static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType); -static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType); -static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType); -static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType); -static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType); -static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType); -static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType); -static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType); -static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType); -static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType); -static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType); -static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType); -static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType); -static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType); -static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType); -static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType); -static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType); -static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType); -static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType); -static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType); -static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType); -static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType); -static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType); -static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType); -static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType); -static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType); -static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType); -static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType); -static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType); -static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType); -static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType); -static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType); -static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType); -static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType); -static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType); -static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType); -static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType); -static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType); -static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType); -static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType); -static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType); -static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType); -static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType); -static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType); -static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType); -static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType); -static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType); -static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType); -static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType); -static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType); -static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType); -static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType); -static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType); -static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType); -static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType); -static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType); -static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType); -static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType); -static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType); -static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType); -static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType); -static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType); -static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType); - -/* Deviant data decoding (skip functions) */ - - - /* Complex type name='http://www.w3.org/2000/09/xmldsig#,RetrievalMethodType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - int grammarID = 0; - int done = 0; - - init_iso2RetrievalMethodType(iso2RetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->Type.charactersLen >= 2) { - iso2RetrievalMethodType->Type.charactersLen = (uint16_t)(iso2RetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->Type.charactersLen, iso2RetrievalMethodType->Type.characters, iso2RetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->Type_isUsed = 1u; - grammarID = 1; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->URI.charactersLen >= 2) { - iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->URI_isUsed = 1u; - grammarID = 2; - break; - case 2: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (iso2RetrievalMethodType->URI.charactersLen >= 2) { - iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2RetrievalMethodType->URI_isUsed = 1u; - grammarID = 2; - break; - case 1: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); - iso2RetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType) { - int grammarID = 5; - int done = 0; - - init_iso2AuthorizationResType(iso2AuthorizationResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AuthorizationResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AuthorizationResType->EVSEStatus); - iso2AuthorizationResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetupList{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - int grammarID = 8; - int done = 0; - - init_iso2MV_EVSEFinePositioningSetupParametersType(iso2MV_EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel); - iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 9; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); - iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509DataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial|"http://www.w3.org/2000/09/xmldsig#":X509SKI|"http://www.w3.org/2000/09/xmldsig#":X509SubjectName|"http://www.w3.org/2000/09/xmldsig#":X509Certificate|"http://www.w3.org/2000/09/xmldsig#":X509CRL|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType) { - int grammarID = 10; - int done = 0; - - init_iso2X509DataType(iso2X509DataType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); - } - iso2X509DataType->X509SKI.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2X509DataType->X509SubjectName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); - } - iso2X509DataType->X509Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); - } - iso2X509DataType->X509CRL.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 11; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 11; - break; - case 1: - if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); - } - iso2X509DataType->X509SKI.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2X509DataType->X509SubjectName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); - } - iso2X509DataType->X509Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); - } - iso2X509DataType->X509CRL.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 11; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 11; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - int grammarID = 12; - int done = 0; - - init_iso2RSAKeyValueType(iso2RSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 12: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (iso2RSAKeyValueType->Modulus.bytesLen) <= iso2RSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2RSAKeyValueType->Modulus.bytesLen, iso2RSAKeyValueType->Modulus.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 13; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 13: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (iso2RSAKeyValueType->Exponent.bytesLen) <= iso2RSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2RSAKeyValueType->Exponent.bytesLen, iso2RSAKeyValueType->Exponent.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMinimumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - int grammarID = 14; - int done = 0; - - init_iso2DC_BidirectionalControlResType(iso2DC_BidirectionalControlResType); - - while(!done) { - switch(grammarID) { - case 14: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2DC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 15; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2DC_BidirectionalControlResType->EVSEStatus); - iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; - grammarID = 16; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); - grammarID = 17; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentVoltage); - grammarID = 18; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEPowerLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSECurrentLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 20; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 20: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEVoltageLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 21; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 1u; - grammarID = 22; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; - grammarID = 23; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 6: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; - grammarID = 23; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 5: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; - grammarID = 24; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 4: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); - iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; - grammarID = 25; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); - iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 26; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); - iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2DC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); - iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); - iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":costKind,"urn:iso:15118:2:2016:MsgDataTypes":amount)', derivedBy='RESTRICTION'. */ -static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType) { - int grammarID = 31; - int done = 0; - - init_iso2CostType(iso2CostType); - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CostType->costKind = (iso2costKindType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 32; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CostType->amount); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":EVSETargetPower{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - int grammarID = 33; - int done = 0; - - init_iso2ChargingStatusResType(iso2ChargingStatusResType); - - while(!done) { - switch(grammarID) { - case 33: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ChargingStatusResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 34; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ChargingStatusResType->EVSEStatus); - iso2ChargingStatusResType->EVSEStatus_isUsed = 1u; - grammarID = 35; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { - iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 36; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2ChargingStatusResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 37; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); - iso2ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 38; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); - iso2ChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 38; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); - iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); - iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeterID,"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingCharged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingDischarged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType) { - int grammarID = 40; - int done = 0; - - init_iso2MeterInfoType(iso2MeterInfoType); - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->MeterID.charactersLen); - if (errn == 0) { - if (iso2MeterInfoType->MeterID.charactersLen >= 2) { - iso2MeterInfoType->MeterID.charactersLen = (uint16_t)(iso2MeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MeterInfoType->MeterID.charactersLen, iso2MeterInfoType->MeterID.characters, iso2MeterInfoType_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 41; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingCharged); - iso2MeterInfoType->MeterReadingCharged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); - iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); - iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); - } - iso2MeterInfoType->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 44; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); - iso2MeterInfoType->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 45; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); - iso2MeterInfoType->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - int grammarID = 46; - int done = 0; - - init_iso2AC_EVChargeParameterType(iso2AC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 46: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2AC_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 47; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargePower); - grammarID = 48; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumChargeCurrent); - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVTargetEnergyRequest); - iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 51; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 52; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 52; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 53; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEBidirectionalParameterType', base type name='AC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - int grammarID = 54; - int done = 0; - - init_iso2AC_EVSEBidirectionalParameterType(iso2AC_EVSEBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); - grammarID = 55; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalVoltage); - grammarID = 56; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); - grammarID = 57; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - int grammarID = 59; - int done = 0; - - init_iso2VehicleCheckOutResType(iso2VehicleCheckOutResType); - - while(!done) { - switch(grammarID) { - case 59: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2VehicleCheckOutResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 60; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckOutResType->EVSEStatus); - iso2VehicleCheckOutResType->EVSEStatus_isUsed = 1u; - grammarID = 61; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVector{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - int grammarID = 62; - int done = 0; - - init_iso2MagneticVectorListType(iso2MagneticVectorListType); - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 63; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 64; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 65; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 66; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 67; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 68; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 69; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 71; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 72; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 73; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 74; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 75; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 76; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 77; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 78; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 79; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 80; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 81; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 82; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 82: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 83; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 84; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 85; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 86; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 87; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 88; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 89; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 90; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 91; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 92; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 93; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 94; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 95; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 96; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 97; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 98; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 99; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 213; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 214; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 215; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 216; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 217; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 218; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 220; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 221; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 245; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 246; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 247; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 248; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 249; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 250; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 251; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 252; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 253; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 254; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 255; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 256; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 257; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 258; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 259; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 260; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 261; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 262; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 263; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 264; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 265; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 266; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 267; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 268; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 269; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 270; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 271; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 272; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 273; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 274; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 275; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 276; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 277; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 278; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 279; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 280; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 281; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 282; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 283; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 284; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 285; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 286; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 287; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 288; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 289; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 290; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 291; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 292; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 293; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 294; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 295; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 296; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 297; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 298; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 299; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 300; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 301; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 302; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 303; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 304; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 305; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 306; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 307; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 308; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 309; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 310; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 311; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 312; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 313; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 314; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 315; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 316; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType) { - int grammarID = 5; - int done = 0; - - init_iso2CableCheckResType(iso2CableCheckResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CableCheckResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CableCheckResType->EVSEStatus); - iso2CableCheckResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SupportedServiceIDs{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - int grammarID = 317; - int done = 0; - - init_iso2ServiceDiscoveryReqType(iso2ServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 317: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceIDListType(stream, &iso2ServiceDiscoveryReqType->SupportedServiceIDs); - iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType) { - int grammarID = 318; - int done = 0; - - init_iso2ServiceType(iso2ServiceType); - - while(!done) { - switch(grammarID) { - case 318: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 319; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ServiceType->FreeService); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSet{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - int grammarID = 320; - int done = 0; - - init_iso2ServiceParameterListType(iso2ServiceParameterListType); - - while(!done) { - switch(grammarID) { - case 320: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 321; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 322; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 323; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 324; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 325; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 326; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 327; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 328; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 329; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 330; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 331; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 332; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 333; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 334; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 335; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 336; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 337; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 338; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 339; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 340; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 341; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 342; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 343; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 344; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 345; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 346; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 347; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 348; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 349; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 350; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 352; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 353; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 354; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 355; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 357; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 358; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 359; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 360; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 361; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 362; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 363; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 364; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 365; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 366; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 367; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 368; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 370; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 371; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 372; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 373; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 374; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 375; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 376; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 377; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 378; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 379; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 380; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 381; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 382; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 383; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 384; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 385; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 386; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 387; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 388; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 389; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 390; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 391; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 392; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 393; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 394; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 395; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 396; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 397; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 398; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 399; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 400; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 401; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 402; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 403; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 404; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 405; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 406; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 407; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 408; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 409; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 410; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 411; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 412; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 413; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 414; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 415; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 416; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 417; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 418; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 419; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 420; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 421; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 422; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 423; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 424; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 425; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 426; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 427; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 428; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 429; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 430; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 431; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 432; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 433; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 434; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 435; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 436; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 437; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 438; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 439; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 440; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 441; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 442; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 443; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 444; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 445; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 446; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 447; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 448; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 449; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 450; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 451; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 452; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 453; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 454; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 455; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 456; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 457; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 458; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 459; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 460; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 461; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 462; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 463; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 464; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 465; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 466; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 467; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 468; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 469; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 470; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 471; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 472; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 473; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 474; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 475; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 476; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 477; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 478; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 479; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 480; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 481; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 482; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 483; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 484; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 485; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 486; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 487; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 488; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 489; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 490; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 491; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 492; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 493; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 494; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 495; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 496; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 497; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 498; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 499; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 500; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 501; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 502; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 503; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 504; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 505; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 506; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 507; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 508; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 509; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 510; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 511; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 512; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 513; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 514; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 515; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 516; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 517; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 518; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 519; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 520; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 521; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 522; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 523; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 524; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 525; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 526; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 527; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 528; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 529; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 530; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 531; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 532; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 533; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 534; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 555; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 556; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 558; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 559; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 560; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 561; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 562; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 563; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 564; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 565; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 566; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 567; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 568; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 569; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 570; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 571; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 572; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 573; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 574; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - int grammarID = 575; - int done = 0; - - init_iso2PMaxScheduleType(iso2PMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 575: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 576; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 576; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertiesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignatureProperty{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - int grammarID = 577; - int done = 0; - - init_iso2SignaturePropertiesType(iso2SignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 577: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertiesType->Id.charactersLen >= 2) { - iso2SignaturePropertiesType->Id.charactersLen = (uint16_t)(iso2SignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertiesType->Id.charactersLen, iso2SignaturePropertiesType->Id.characters, iso2SignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertiesType->Id_isUsed = 1u; - grammarID = 578; - break; - case 1: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 578: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 579: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 579; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":PMax{1-3}))', derivedBy='EXTENSION'. */ -static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - int grammarID = 580; - int done = 0; - - init_iso2PMaxScheduleEntryType(iso2PMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 580: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2PMaxScheduleEntryType->RelativeTimeInterval); - grammarID = 581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 582; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 583; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { - errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignedInfo,"http://www.w3.org/2000/09/xmldsig#":SignatureValue,"http://www.w3.org/2000/09/xmldsig#":KeyInfo{0-1},"http://www.w3.org/2000/09/xmldsig#":Object{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType) { - int grammarID = 584; - int done = 0; - - init_iso2SignatureType(iso2SignatureType); - - while(!done) { - switch(grammarID) { - case 584: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureType->Id.charactersLen); - if (errn == 0) { - if (iso2SignatureType->Id.charactersLen >= 2) { - iso2SignatureType->Id.charactersLen = (uint16_t)(iso2SignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureType->Id.charactersLen, iso2SignatureType->Id.characters, iso2SignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureType->Id_isUsed = 1u; - grammarID = 585; - break; - case 1: - errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); - grammarID = 586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 585: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); - grammarID = 586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 586: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureValueType(stream, &iso2SignatureType->SignatureValue); - grammarID = 587; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 587: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2KeyInfoType(stream, &iso2SignatureType->KeyInfo); - iso2SignatureType->KeyInfo_isUsed = 1u; - grammarID = 588; - break; - case 1: - if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 588; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 588: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { - errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 588; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckInStatus,"urn:iso:15118:2:2016:MsgBody":ParkingMethod{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - int grammarID = 589; - int done = 0; - - init_iso2VehicleCheckInReqType(iso2VehicleCheckInReqType); - - while(!done) { - switch(grammarID) { - case 589: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckInReqType->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 590; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckInReqType->ParkingMethod = (iso2parkingMethodType) uint32; - iso2VehicleCheckInReqType->ParkingMethod_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - init_iso2ConnectChargingDeviceResType(iso2ConnectChargingDeviceResType); - - while(!done) { - switch(grammarID) { - case 591: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ConnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ConnectChargingDeviceResType->EVSEStatus); - iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 1u; - grammarID = 593; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2ConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - int grammarID = 596; - int done = 0; - - init_iso2WeldingDetectionResType(iso2WeldingDetectionResType); - - while(!done) { - switch(grammarID) { - case 596: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2WeldingDetectionResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 597; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2WeldingDetectionResType->EVSEStatus); - iso2WeldingDetectionResType->EVSEStatus_isUsed = 1u; - grammarID = 598; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType) { - int grammarID = 599; - int done = 0; - - init_iso2SessionStopResType(iso2SessionStopResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SessionStopResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SessionStopResType->EVSEStatus); - iso2SessionStopResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":VehicleSpace,"urn:iso:15118:2:2016:MsgBody":TargetOffset{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - int grammarID = 601; - int done = 0; - - init_iso2VehicleCheckInResType(iso2VehicleCheckInResType); - - while(!done) { - switch(grammarID) { - case 601: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2VehicleCheckInResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 602; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckInResType->EVSEStatus); - iso2VehicleCheckInResType->EVSEStatus_isUsed = 1u; - grammarID = 603; - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TargetPositionType(stream, &iso2VehicleCheckInResType->TargetOffset); - iso2VehicleCheckInResType->TargetOffset_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType) { - int grammarID = 605; - int done = 0; - - init_iso2ServiceListType(iso2ServiceListType); - - while(!done) { - switch(grammarID) { - case 605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 606; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 607; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 608; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 609; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 610; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 611; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 612; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { - errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":RetryCounter{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - int grammarID = 613; - int done = 0; - - init_iso2CertificateUpdateResType(iso2CertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 613: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CertificateUpdateResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 614; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CertificateUpdateResType->EVSEStatus); - iso2CertificateUpdateResType->EVSEStatus_isUsed = 1u; - grammarID = 615; - break; - case 1: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 616; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 616; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->ContractSignatureCertChain); - grammarID = 617; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateUpdateResType->ContractSignatureEncryptedPrivateKey); - grammarID = 618; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateUpdateResType->DHpublickey); - grammarID = 619; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EMAIDType(stream, &iso2CertificateUpdateResType->eMAID); - grammarID = 620; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CertificateUpdateResType->RetryCounter); - iso2CertificateUpdateResType->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningSetupParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - int grammarID = 621; - int done = 0; - - init_iso2FinePositioningSetupResType(iso2FinePositioningSetupResType); - - while(!done) { - switch(grammarID) { - case 621: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2FinePositioningSetupResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 622; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningSetupResType->EVSEStatus); - iso2FinePositioningSetupResType->EVSEStatus_isUsed = 1u; - grammarID = 623; - break; - case 1: - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); - iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVBidirectionalParameterType', base type name='AC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage)),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - int grammarID = 624; - int done = 0; - - init_iso2AC_EVBidirectionalParameterType(iso2AC_EVBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 624: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2AC_EVBidirectionalParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 625; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargePower); - grammarID = 626; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 627; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumChargeCurrent); - grammarID = 628; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 629; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 630; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 630; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 631; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 632; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargePower); - grammarID = 633; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 634; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - int grammarID = 635; - int done = 0; - - init_iso2DC_BidirectionalControlReqType(iso2DC_BidirectionalControlReqType); - - while(!done) { - switch(grammarID) { - case 635: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetEnergyRequest); - grammarID = 636; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 637; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 638; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 638; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); - iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 639; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); - grammarID = 640; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetVoltage); - grammarID = 641; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumVoltage); - grammarID = 642; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumVoltage); - grammarID = 643; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 644; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent); - iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; - grammarID = 645; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 646; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); - iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 646; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - int grammarID = 647; - int done = 0; - - init_iso2CertificateUpdateReqType(iso2CertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 647: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateUpdateReqType->Id.charactersLen >= 2) { - iso2CertificateUpdateReqType->Id.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateUpdateReqType->Id.charactersLen, iso2CertificateUpdateReqType->Id.characters, iso2CertificateUpdateReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 648; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 648: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 649; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso2CertificateUpdateReqType->eMAID.charactersLen >= 2) { - iso2CertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateUpdateReqType->eMAID.charactersLen, iso2CertificateUpdateReqType->eMAID.characters, iso2CertificateUpdateReqType_eMAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 650; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":startValue,"urn:iso:15118:2:2016:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - int grammarID = 651; - int done = 0; - - init_iso2ConsumptionCostType(iso2ConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 651: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ConsumptionCostType->startValue); - grammarID = 652; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 653; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 654; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType) { - int grammarID = 655; - int done = 0; - - init_iso2SAScheduleListType(iso2SAScheduleListType); - - while(!done) { - switch(grammarID) { - case 655: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 656; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 657; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel)', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - int grammarID = 658; - int done = 0; - - init_iso2MagneticVectorSetupType(iso2MagneticVectorSetupType); - - while(!done) { - switch(grammarID) { - case 658: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorSetupType->GAID.charactersLen); - if (errn == 0) { - if (iso2MagneticVectorSetupType->GAID.charactersLen >= 2) { - iso2MagneticVectorSetupType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorSetupType->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MagneticVectorSetupType->GAID.charactersLen, iso2MagneticVectorSetupType->GAID.characters, iso2MagneticVectorSetupType_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 659; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2MagneticVectorSetupType->FrequencyChannel); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset,"urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - int grammarID = 660; - int done = 0; - - init_iso2LFA_EVSEFinePositioningSetupParametersType(iso2LFA_EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 660: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 661; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorList); - grammarID = 662; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorOrder); - grammarID = 663; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 664; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 665; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 666; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 667; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SignalFrequency); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ -static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - int grammarID = 668; - int done = 0; - - init_iso2PaymentOptionListType(iso2PaymentOptionListType); - - while(!done) { - switch(grammarID) { - case 668: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; - iso2PaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 669; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; - iso2PaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - init_iso2LFA_EVSEFinePositioningParametersType(iso2LFA_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 670: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVSEFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 671; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVSEFinePositioningParametersType->SensorPackageList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,RelativeTimeIntervalType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":start,"urn:iso:15118:2:2016:MsgDataTypes":duration{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - int grammarID = 672; - int done = 0; - - init_iso2RelativeTimeIntervalType(iso2RelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 672: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->start); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 673; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->duration); - iso2RelativeTimeIntervalType->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVFinePositioningParametersType(iso2EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - int grammarID = 675; - int done = 0; - - init_iso2AlignmentCheckReqType(iso2AlignmentCheckReqType); - - while(!done) { - switch(grammarID) { - case 675: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckReqType->AlignmentCheckParameters); - iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - int grammarID = 677; - int done = 0; - - init_iso2CertificateInstallationReqType(iso2CertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 677: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateInstallationReqType->Id.charactersLen >= 2) { - iso2CertificateInstallationReqType->Id.charactersLen = (uint16_t)(iso2CertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateInstallationReqType->Id.charactersLen, iso2CertificateInstallationReqType->Id.characters, iso2CertificateInstallationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 678; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 678: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= iso2CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen, iso2CertificateInstallationReqType->OEMProvisioningCert.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 650; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType) { - int grammarID = 679; - int done = 0; - - init_iso2TransformsType(iso2TransformsType); - - while(!done) { - switch(grammarID) { - case 679: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 680; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 680: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { - errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 680; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ObjectType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any])){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType) { - int grammarID = 681; - int done = 0; - - init_iso2ObjectType(iso2ObjectType); - - while(!done) { - switch(grammarID) { - case 681: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Encoding.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Encoding.charactersLen >= 2) { - iso2ObjectType->Encoding.charactersLen = (uint16_t)(iso2ObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Encoding.charactersLen, iso2ObjectType->Encoding.characters, iso2ObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Encoding_isUsed = 1u; - grammarID = 682; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Id.charactersLen >= 2) { - iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Id_isUsed = 1u; - grammarID = 683; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 4: - done = 1; - grammarID = 4; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 682: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); - if (errn == 0) { - if (iso2ObjectType->Id.charactersLen >= 2) { - iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->Id_isUsed = 1u; - grammarID = 683; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 3: - done = 1; - grammarID = 4; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 683: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); - if (errn == 0) { - if (iso2ObjectType->MimeType.charactersLen >= 2) { - iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->MimeType_isUsed = 1u; - grammarID = 684; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); - if (errn == 0) { - if (iso2ObjectType->ANY.charactersLen >= 2) { - iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ObjectType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType) { - int grammarID = 686; - int done = 0; - - init_iso2SensorOrderListType(iso2SensorOrderListType); - - while(!done) { - switch(grammarID) { - case 686: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 687; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 688; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 689; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 690; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 691; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 692; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 693; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 694; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 695; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 696; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 697; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 698; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 699; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 700; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 701; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 702; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 703; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 704; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 705; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 706; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 707; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 708; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 709; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 710; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 711; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 712; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 713; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 714; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 715; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 716; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 717; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 718; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 719; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 720; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 721; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 722; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 723; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 724; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 725; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 726; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 727; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 728; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 729; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 730; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 731; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 732; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 733; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 734; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 735; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 736; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 737; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 738; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 739; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 740; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 741; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 742; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 743; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 744; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 745; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 746; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 747; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 748; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 749; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 750; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 751; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 752; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 753; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 754; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 755; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 756; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 757; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 758; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 759; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 760; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 761; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 762; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 763; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 764; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 765; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 766; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 767; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 768; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 769; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 770; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 771; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 772; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 773; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 774; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 775; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 776; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 777; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 778; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 779; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 780; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 781; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 782; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 783; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 784; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 785; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 786; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 787; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 788; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 788: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 789; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 790; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 791; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 792; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 793; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 794; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 795; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 796; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 797; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 797: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 798; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 798: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 799; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 800; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 801; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 802; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 803; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 804; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 805; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 805: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 806; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 807; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 808; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 809; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 810; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 810: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 811; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 812; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 812: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 813; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 814; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 816; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 816: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 817; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 818; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 820; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 820: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 821; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 822; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 824; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 824: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 825; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 826; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 828; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 828: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 829; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 829: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 830; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 830: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 831; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 832; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 833; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 834; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 835; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 836; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 837; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 838; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 839; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 840; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 841; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 842; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 843; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 844; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 845; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 846; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 847; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 847: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 848: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 849; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 849: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 850; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 850: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 851; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 852; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 854; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 854: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 855; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 855: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 856; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 856: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 857; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 857: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 858; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 859; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 861; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 862; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 862: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 863; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 864; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 864: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 865; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 866; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 867; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 867: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 868; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 869; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 870; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 871; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 872; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 874; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 874: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 875; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 876; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 877; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 877: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 878; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 878: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 879; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 880; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 880: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 881; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 881: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 882; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 883; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 883: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 884; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 885; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 886; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 887; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 888; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 888: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 889; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 890; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 891; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 892; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 893; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 894; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 895; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 896; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 897; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 898; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 899; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 899: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 900; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 900: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 901; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 906; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 912; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 912: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 913; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 914; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 915; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 916; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 917; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 918; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 919; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 920; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 921; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 925; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 926; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 927; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 928; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 929; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 930; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 930: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 931; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 932; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 933; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 933: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 934; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 935; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 936; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 937; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 938; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 938: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 939; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 940; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 940: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); - iso2SensorOrderListType->SensorPosition.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":MaxSupportingPoints{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVEnergyTransferParameter,"urn:iso:15118:2:2016:MsgBody":MinimumPMaxRequest{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - int grammarID = 941; - int done = 0; - - init_iso2ChargeParameterDiscoveryReqType(iso2ChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints = (uint16_t)(uint32 + 12); - iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 942; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 2: - errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 3: - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 4: - errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 5: - errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; - grammarID = 943; - break; - case 6: - errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 1: - errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 2: - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; - grammarID = 943; - break; - case 3: - errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - case 4: - errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); - iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; - grammarID = 943; - break; - case 5: - errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); - iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; - grammarID = 943; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MinimumPMaxRequestType(stream, &iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest); - iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":boolValue|"urn:iso:15118:2:2016:MsgDataTypes":byteValue|"urn:iso:15118:2:2016:MsgDataTypes":shortValue|"urn:iso:15118:2:2016:MsgDataTypes":intValue|"urn:iso:15118:2:2016:MsgDataTypes":physicalValue|"urn:iso:15118:2:2016:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType) { - int grammarID = 944; - int done = 0; - - init_iso2ParameterType(iso2ParameterType); - - while(!done) { - switch(grammarID) { - case 944: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Name)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ParameterType->Name.charactersLen); - if (errn == 0) { - if (iso2ParameterType->Name.charactersLen >= 2) { - iso2ParameterType->Name.charactersLen = (uint16_t)(iso2ParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ParameterType->Name.charactersLen, iso2ParameterType->Name.characters, iso2ParameterType_Name_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 945; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 945: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2ParameterType->boolValue); - iso2ParameterType->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2ParameterType->byteValue = (int8_t)(uint32 -128); - iso2ParameterType->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2ParameterType->shortValue); - iso2ParameterType->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &iso2ParameterType->intValue); - iso2ParameterType->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ParameterType->physicalValue); - iso2ParameterType->physicalValue_isUsed = 1u; - grammarID = 3; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ParameterType->stringValue.charactersLen); - if (errn == 0) { - if (iso2ParameterType->stringValue.charactersLen >= 2) { - iso2ParameterType->stringValue.charactersLen = (uint16_t)(iso2ParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ParameterType->stringValue.charactersLen, iso2ParameterType->stringValue.characters, iso2ParameterType_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ParameterType->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ -static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType) { - int grammarID = 946; - int done = 0; - - init_iso2SessionStopReqType(iso2SessionStopReqType); - - while(!done) { - switch(grammarID) { - case 946: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SessionStopReqType->ChargingSession = (iso2chargingSessionType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorMeasurementsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower,"urn:iso:15118:2:2016:MsgDataTypes":MeasurementDataList)', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - int grammarID = 947; - int done = 0; - - init_iso2SensorMeasurementsType(iso2SensorMeasurementsType); - - while(!done) { - switch(grammarID) { - case 947: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorMeasurementsType->SensorID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 948; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorMeasurementsType->EffectiveRadiatedPower = (int8_t)(uint32 -128); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 949; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeasurementDataListType(stream, &iso2SensorMeasurementsType->MeasurementDataList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - int grammarID = 950; - int done = 0; - - init_iso2DC_EVSEChargeParameterType(iso2DC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 950: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargePower); - grammarID = 951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); - grammarID = 952; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumChargeCurrent); - grammarID = 953; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumVoltage); - grammarID = 954; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumVoltage); - grammarID = 955; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 956; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 957; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 957; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPackage{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType) { - int grammarID = 958; - int done = 0; - - init_iso2SensorPackageListType(iso2SensorPackageListType); - - while(!done) { - switch(grammarID) { - case 958: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 959; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 959: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 960; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 960: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 961; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 962; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 962: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 963; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 963: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 964: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 965; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 965: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 966; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 967; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 967: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 968; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 969; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 970; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 971; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 972; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 973; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 974; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 975; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 976; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 977; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 978; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 979; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 980; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 981; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 982; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 983; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 983: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 984; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 985; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 986; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 986: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 987; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 987: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 988; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 988: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 989; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 989: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 990; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 990: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 991; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 992; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 993; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 994; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 994: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 995; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 996; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 997; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 998; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 999; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1000; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1001; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1002; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1003; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1004; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1005; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1006; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1007; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1008; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1009; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1010; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1011; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1012; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1013; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1014; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1014: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1015; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1015: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1016; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1016: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1017; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1017: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1018; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1019; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1020; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1021; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1022; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1023; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1024; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1025; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1026; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1027; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1028; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1029; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1030; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1031; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1032; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1033; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1034; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1035; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1036; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1037; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1038; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1039; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1040; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1041; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1042; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1043; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1044; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1045; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1046; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1047; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1048; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1049; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1050; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1051; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1052; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1053; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1054; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1055; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1056; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1057; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1058; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1059; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1060; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1061; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1062; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1063; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1064; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1065; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1066; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1067; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1068; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1069; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1070; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1071; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1072; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1073; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1074; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1075; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1076; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1077; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1078; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1079; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1080; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1081; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1082; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1083; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1084; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1085; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1086; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1087; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1088; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1089; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1090; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1091; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1092; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1093; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1094; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1095; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1096; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1097; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1098; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1099; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { - errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - int grammarID = 1213; - int done = 0; - - init_iso2MeasurementDataListType(iso2MeasurementDataListType); - - while(!done) { - switch(grammarID) { - case 1213: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1215; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1216; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1217; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1218; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1219; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1220; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1221; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1223; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1224; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1225; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1226; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1227; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1228; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1229; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1230; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1231; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1232; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1233; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1234; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1235; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1236; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1237; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1238; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1239; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1240; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1241; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1242; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1243; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1244; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1245; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1246; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1247; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1248; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1249; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1250; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1251; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1252; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1253; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1254; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1255; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1256; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1257; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1258; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1259; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1260; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1261; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1262; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1263; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1264; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1265; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1266; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1267; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1268; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1269; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1270; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1271; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1272; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1273; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1274; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1275; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1276; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1277; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1279; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1281; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1282; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1283; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1285; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1286; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1287; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1288; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1289; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1290; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1291; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1292; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1293; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1294; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1295; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1296; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1297; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1298; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1299; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1301; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1302; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1303; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1304; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1305; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1306; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1307; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1308; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1309; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1310; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1311; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1312; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1313; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1314; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1315; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1316; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1317; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1318; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1319; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1320; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1321; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1322; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1323; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1324; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1325; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1326; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1327; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1328; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1329; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1330; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1331; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1332; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1333; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1334; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1335; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1336; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1337; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1338; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1339; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1340; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1341; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1342; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1343; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1344; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1345; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1346; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1347; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1348; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1349; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1350; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1351; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1352; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1353; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1354; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1355; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1356; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1357; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1358; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1359; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1360; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1361; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1362; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1363; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1364; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1365; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1366; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1367; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1368; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1369; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1370; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1371; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1372; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1373; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1374; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1375; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1376; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1377; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1378; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1379; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1380; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1381; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1382; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1383; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1384; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1385; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1386; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1387; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1388; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1389; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1390; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1391; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1392; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1393; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1394; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1395; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1396; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1397; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1398; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1399; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1400; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1401; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1402; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1403; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1404; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1405; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1406; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1407; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1408; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1409; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1410; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1411; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1412; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1413; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1414; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1415; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1416; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1417; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1418; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1419; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1420; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1421; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1422; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1423; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1424; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1425; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1426; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1427; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1428; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1429; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1430; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1431; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1432; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1433; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1434; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1435; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1436; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1437; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1438; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1439; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1440; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1441; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1442; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1443; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1444; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1445; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1446; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1447; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1448; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1449; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1450; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1451; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1452; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1453; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1454; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1455; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1456; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1457; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1458; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1459; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1460; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1461; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1462; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1463; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1464; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1465; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1466; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1467; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); - iso2MeasurementDataListType->MeasurementData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate,"urn:iso:15118:2:2016:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType) { - int grammarID = 1468; - int done = 0; - - init_iso2CertificateChainType(iso2CertificateChainType); - - while(!done) { - switch(grammarID) { - case 1468: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Id.charactersLen); - if (errn == 0) { - if (iso2CertificateChainType->Id.charactersLen >= 2) { - iso2CertificateChainType->Id.charactersLen = (uint16_t)(iso2CertificateChainType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CertificateChainType->Id.charactersLen, iso2CertificateChainType->Id.characters, iso2CertificateChainType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CertificateChainType->Id_isUsed = 1u; - grammarID = 1469; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1470; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1469: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1470; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SubCertificatesType(stream, &iso2CertificateChainType->SubCertificates); - iso2CertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - int grammarID = 1471; - int done = 0; - - init_iso2SignaturePropertyType(iso2SignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 1471: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Id.charactersLen >= 2) { - iso2SignaturePropertyType->Id.charactersLen = (uint16_t)(iso2SignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Id.charactersLen, iso2SignaturePropertyType->Id.characters, iso2SignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->Id_isUsed = 1u; - grammarID = 1472; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Target.charactersLen >= 2) { - iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1473; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1472: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->Target.charactersLen >= 2) { - iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1473; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1473: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 1474; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1474: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { - iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignaturePropertyType->ANY_isUsed = 1u; - grammarID = 1474; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])|"http://www.w3.org/2000/09/xmldsig#":XPath){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType) { - int grammarID = 1475; - int done = 0; - - init_iso2TransformType(iso2TransformType); - - while(!done) { - switch(grammarID) { - case 1475: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2TransformType->Algorithm.charactersLen >= 2) { - iso2TransformType->Algorithm.charactersLen = (uint16_t)(iso2TransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->Algorithm.charactersLen, iso2TransformType->Algorithm.characters, iso2TransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1476; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1476: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { - iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->XPath.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1477; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1477; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso2TransformType->ANY.charactersLen >= 2) { - iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->ANY_isUsed = 1u; - grammarID = 1477; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1477: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { - iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->XPath.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1477; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1477; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); - if (errn == 0) { - if (iso2TransformType->ANY.charactersLen >= 2) { - iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2TransformType->ANY_isUsed = 1u; - grammarID = 1477; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType) { - int grammarID = 1478; - int done = 0; - - init_iso2EMAIDType(iso2EMAIDType); - - while(!done) { - switch(grammarID) { - case 1478: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->Id.charactersLen); - if (errn == 0) { - if (iso2EMAIDType->Id.charactersLen >= 2) { - iso2EMAIDType->Id.charactersLen = (uint16_t)(iso2EMAIDType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2EMAIDType->Id.charactersLen, iso2EMAIDType->Id.characters, iso2EMAIDType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1479; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1479: - /* StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->CONTENT.charactersLen); - if (errn == 0) { - if (iso2EMAIDType->CONTENT.charactersLen >= 2) { - iso2EMAIDType->CONTENT.charactersLen = (uint16_t)(iso2EMAIDType->CONTENT.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2EMAIDType->CONTENT.charactersLen, iso2EMAIDType->CONTENT.characters, iso2EMAIDType_CONTENT_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - int grammarID = 1480; - int done = 0; - - init_iso2DSAKeyValueType(iso2DSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 1480: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->P.bytesLen) <= iso2DSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->P.bytesLen, iso2DSAKeyValueType->P.bytes); - } - iso2DSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1481; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); - } - iso2DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1482; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1481: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Q.bytesLen) <= iso2DSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Q.bytesLen, iso2DSAKeyValueType->Q.bytes); - } - iso2DSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1484; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1484: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); - } - iso2DSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1482; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1482: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1483; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1483: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->J.bytesLen) <= iso2DSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->J.bytesLen, iso2DSAKeyValueType->J.bytes); - } - iso2DSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1485; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); - } - iso2DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1486; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1485: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); - } - iso2DSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1486; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1486: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (iso2DSAKeyValueType->PgenCounter.bytesLen) <= iso2DSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DSAKeyValueType->PgenCounter.bytesLen, iso2DSAKeyValueType->PgenCounter.bytes); - } - iso2DSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval)', derivedBy='RESTRICTION'. */ -static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType) { - int grammarID = 1487; - int done = 0; - - init_iso2EntryType(iso2EntryType); - - while(!done) { - switch(grammarID) { - case 1487: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2EntryType->RelativeTimeInterval); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgHeader":SessionID,"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType) { - int grammarID = 1488; - int done = 0; - - init_iso2MessageHeaderType(iso2MessageHeaderType); - - while(!done) { - switch(grammarID) { - case 1488: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso2MessageHeaderType->SessionID.bytesLen) <= iso2MessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MessageHeaderType->SessionID.bytesLen, iso2MessageHeaderType->SessionID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1489; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1489: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureType(stream, &iso2MessageHeaderType->Signature); - iso2MessageHeaderType->Signature_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - int grammarID = 1490; - int done = 0; - - init_iso2WPT_EVChargeParameterType(iso2WPT_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1490: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2WPT_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1491; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumPower); - grammarID = 1492; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumPower); - grammarID = 1493; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVTargetEnergyRequest); - iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1494; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1495; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1495; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); - iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - init_iso2DisconnectChargingDeviceReqType(iso2DisconnectChargingDeviceReqType); - - while(!done) { - switch(grammarID) { - case 1496: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2DisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeLoopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - int grammarID = 1498; - int done = 0; - - init_iso2ChargeLoopReqType(iso2ChargeLoopReqType); - - while(!done) { - switch(grammarID) { - case 1498: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVTargetEnergyRequest); - grammarID = 1499; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMaximumEnergyRequest); - iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1500; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1501; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); - iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1501; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); - iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GRequestType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType) { - int grammarID = 674; - int done = 0; - - init_iso2V2GRequestType(iso2V2GRequestType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - int grammarID = 599; - int done = 0; - - init_iso2MeteringReceiptResType(iso2MeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2MeteringReceiptResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2MeteringReceiptResType->EVSEStatus); - iso2MeteringReceiptResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType) { - int grammarID = 1502; - int done = 0; - - init_iso2SessionSetupResType(iso2SessionSetupResType); - - while(!done) { - switch(grammarID) { - case 1502: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SessionSetupResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1503; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SessionSetupResType->EVSEStatus); - iso2SessionSetupResType->EVSEStatus_isUsed = 1u; - grammarID = 1504; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { - iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1505; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { - iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1505; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SessionSetupResType->EVSETimeStamp); - iso2SessionSetupResType->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMinimumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVPresentActivePower,"urn:iso:15118:2:2016:MsgBody":EVPresentReactivePower))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - int grammarID = 1506; - int done = 0; - - init_iso2AC_BidirectionalControlReqType(iso2AC_BidirectionalControlReqType); - - while(!done) { - switch(grammarID) { - case 1506: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVTargetEnergyRequest); - grammarID = 1507; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1508; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1509; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 3: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); - iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1509; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 2: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); - iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; - grammarID = 1510; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; - iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1511; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); - grammarID = 1512; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargePower); - iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1513; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 1514; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); - grammarID = 1514; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent); - iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; - grammarID = 1515; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); - grammarID = 1516; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); - grammarID = 1516; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent); - iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 1u; - grammarID = 1517; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); - grammarID = 1518; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); - grammarID = 1518; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentReactivePower); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorList)', derivedBy='EXTENSION'. */ -static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - int grammarID = 1519; - int done = 0; - - init_iso2MV_EVSEFinePositioningParametersType(iso2MV_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1519: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MagneticVectorListType(stream, &iso2MV_EVSEFinePositioningParametersType->MagneticVectorList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)', derivedBy='RESTRICTION'. */ -static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType) { - int grammarID = 1520; - int done = 0; - - init_iso2ReferenceType(iso2ReferenceType); - - while(!done) { - switch(grammarID) { - case 1520: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Id.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Id.charactersLen >= 2) { - iso2ReferenceType->Id.charactersLen = (uint16_t)(iso2ReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Id.charactersLen, iso2ReferenceType->Id.characters, iso2ReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Id_isUsed = 1u; - grammarID = 1521; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Type.charactersLen >= 2) { - iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Type_isUsed = 1u; - grammarID = 1522; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 3: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 4: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1521: - /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->Type.charactersLen >= 2) { - iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->Type_isUsed = 1u; - grammarID = 1522; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 2: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 3: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1522: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); - if (errn == 0) { - if (iso2ReferenceType->URI.charactersLen >= 2) { - iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ReferenceType->URI_isUsed = 1u; - grammarID = 1523; - break; - case 1: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 2: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1523: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); - iso2ReferenceType->Transforms_isUsed = 1u; - grammarID = 1524; - break; - case 1: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1524: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); - grammarID = 1525; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1525: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (iso2ReferenceType->DigestValue.bytesLen) <= iso2ReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2ReferenceType->DigestValue.bytesLen, iso2ReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEEnergyTransferParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEEnergyTransferParameterType(iso2EVSEEnergyTransferParameterType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SessionID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - int grammarID = 1526; - int done = 0; - - init_iso2MeteringReceiptReqType(iso2MeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 1526: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - if (iso2MeteringReceiptReqType->Id.charactersLen >= 2) { - iso2MeteringReceiptReqType->Id.charactersLen = (uint16_t)(iso2MeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MeteringReceiptReqType->Id.charactersLen, iso2MeteringReceiptReqType->Id.characters, iso2MeteringReceiptReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1527; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1527: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (iso2MeteringReceiptReqType->SessionID.bytesLen) <= iso2MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2MeteringReceiptReqType->SessionID.bytesLen, iso2MeteringReceiptReqType->SessionID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1528; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2MeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1529; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyValueType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":DSAKeyValue|"http://www.w3.org/2000/09/xmldsig#":RSAKeyValue|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))', derivedBy='RESTRICTION'. */ -static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType) { - int grammarID = 1530; - int done = 0; - - init_iso2KeyValueType(iso2KeyValueType); - - while(!done) { - switch(grammarID) { - case 1530: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); - iso2KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 1: - errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); - iso2KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1531; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1532; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1531: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1531; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1532: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); - iso2KeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 1: - errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); - iso2KeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 1531; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1531; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyValueType->ANY.charactersLen >= 2) { - iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyValueType->ANY_isUsed = 1u; - grammarID = 1532; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Sensor{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType) { - int grammarID = 1533; - int done = 0; - - init_iso2SensorListType(iso2SensorListType); - - while(!done) { - switch(grammarID) { - case 1533: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1534; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1555; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1556; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1558; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1559; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1560; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1561; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1562; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1563; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1564; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1565; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1566; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1567; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1568; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1569; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1570; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1571; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1572; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1573; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1574; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1575; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1576; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1577; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1578; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1578: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1579; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1580; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1581; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1582; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1583; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1584; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1585; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1585: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1586; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1587; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1587: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1588; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1589; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1589: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1590; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1591; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1592; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1593; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1594; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1595; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1596; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1597; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1598; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1599; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1599: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1600; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1601; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1601: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1602; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1603; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1604; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1605; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1605: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1606; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1607; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1608; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1609; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1610; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1611; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1612; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1613; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1613: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1614; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1615; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1616; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1617; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1618; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1619; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1620; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1621; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1621: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1622; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1623; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1624; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1624: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1625; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1626; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1627; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1628; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1629; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1630; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1631; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1632; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1633; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1634; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1635; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1635: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1636; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1637; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1638; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1639; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1640; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1641; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1642; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1643; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1644; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1645; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1646; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1647; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1647: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1648; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1648: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1649; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1650; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1651; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1651: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1652; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1653; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1654; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1655; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1655: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1656; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1657; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1658; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1658: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1659; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1660; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1660: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1661; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1662; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1663; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1664; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1665; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1666; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1667; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1668; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1668: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1669; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1670; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1670: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1671; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1672; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1672: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1673; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1674; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1674: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1675; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1675: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1676; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1677; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1677: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1678; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1678: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1679; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1679: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1680; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1680: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1681; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1681: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1682; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1682: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1683; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1683: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1684; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1684: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1685; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1685: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1686; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1686: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1687; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1688; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1689; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1690; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1691; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1692; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1693; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1694; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1695; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1696; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1697; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1698; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1699; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1700; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1701; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1702; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1703; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1704; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1705; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1706; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1707; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1708; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1709; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1710; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1711; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1712; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1713; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1714; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1715; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1716; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1717; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1718; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1719; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1720; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1721; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1722; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1723; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1724; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1725; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1726; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1727; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1728; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1729; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1730; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1731; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1732; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1733; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1734; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1735; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1736; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1737; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1738; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1739; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1740; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1741; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1742; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1743; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1744; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1745; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1746; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1747; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1748; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1749; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1750; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1751; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1752; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1753; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1754; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1755; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1756; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1757; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1758; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1759; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1760; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1761; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1762; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1763; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1764; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1765; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1766; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1767; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1768; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1769; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1770; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1771; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1772; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1773; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1774; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1775; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1776; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1777; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1778; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1779; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1780; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1781; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1782; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1783; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1784; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1785; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1786; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1787; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { - errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - int grammarID = 1788; - int done = 0; - - init_iso2CurrentDemandReqType(iso2CurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 1788: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetEnergyRequest); - grammarID = 1789; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumEnergyRequest); - iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1790; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1791; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); - iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1791; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); - iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1792; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); - grammarID = 1793; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetVoltage); - grammarID = 1794; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumCurrent); - iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 1u; - grammarID = 1795; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; - grammarID = 1796; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); - iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; - grammarID = 1796; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); - iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningSetupParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - int grammarID = 1797; - int done = 0; - - init_iso2FinePositioningSetupReqType(iso2FinePositioningSetupReqType); - - while(!done) { - switch(grammarID) { - case 1797: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters); - iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters); - iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningSetupParametersType', base type name='EVFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - int grammarID = 1798; - int done = 0; - - init_iso2LFA_EVFinePositioningSetupParametersType(iso2LFA_EVFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 1798: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1799; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorList); - grammarID = 1800; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorOrder); - grammarID = 1801; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1802; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1803; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1804; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2LFA_EVFinePositioningSetupParametersType->AlignmentOffset); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2016:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2016:MsgDataTypes":PMaxDischargeSchedule{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariff{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BuyBackTariff{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - int grammarID = 1805; - int done = 0; - - init_iso2SAScheduleTupleType(iso2SAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 1805: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SAScheduleTupleType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1806; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxSchedule); - grammarID = 1807; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxDischargeSchedule); - iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 1u; - grammarID = 1808; - break; - case 1: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); - iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 1809; - break; - case 2: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); - iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 1809; - break; - case 1: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); - iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumPower)', derivedBy='EXTENSION'. */ -static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - int grammarID = 1810; - int done = 0; - - init_iso2WPT_EVSEChargeParameterType(iso2WPT_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1810: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMaximumPower); - grammarID = 1811; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMinimumPower); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType) { - int grammarID = 1812; - int done = 0; - - init_iso2FinePositioningResType(iso2FinePositioningResType); - - while(!done) { - switch(grammarID) { - case 1812: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2FinePositioningResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1813; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningResType->EVSEStatus); - iso2FinePositioningResType->EVSEStatus_isUsed = 1u; - grammarID = 1814; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1815; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->EVSEFinePositioningParameters); - iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->Generic_EVSEFinePositioningParameters); - iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->LFA_EVSEFinePositioningParameters); - iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->MV_EVSEFinePositioningParameters); - iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType) { - int grammarID = 674; - int done = 0; - - init_iso2BodyBaseType(iso2BodyBaseType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":ServiceID,"urn:iso:15118:2:2016:MsgBody":ServiceParameterList{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - int grammarID = 1816; - int done = 0; - - init_iso2ServiceDetailResType(iso2ServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 1816: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ServiceDetailResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1817; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDetailResType->EVSEStatus); - iso2ServiceDetailResType->EVSEStatus_isUsed = 1u; - grammarID = 1818; - break; - case 1: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1819; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceParameterListType(stream, &iso2ServiceDetailResType->ServiceParameterList); - iso2ServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargeProgress,"urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":ChargingProfile{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - int grammarID = 1820; - int done = 0; - - init_iso2PowerDeliveryReqType(iso2PowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 1820: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryReqType->ChargeProgress = (iso2chargeProgressType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1821; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PowerDeliveryReqType->EVOperation = (iso2EVOperationType) uint32; - iso2PowerDeliveryReqType->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1822; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1823; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); - iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType) { - int grammarID = 1824; - int done = 0; - - init_iso2PairingResType(iso2PairingResType); - - while(!done) { - switch(grammarID) { - case 1824: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PairingResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1825; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PairingResType->EVSEStatus); - iso2PairingResType->EVSEStatus_isUsed = 1u; - grammarID = 1826; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PairingResType->PairingParameters); - iso2PairingResType->PairingParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - int grammarID = 1828; - int done = 0; - - init_iso2AuthorizationReqType(iso2AuthorizationReqType); - - while(!done) { - switch(grammarID) { - case 1828: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->Id.charactersLen); - if (errn == 0) { - if (iso2AuthorizationReqType->Id.charactersLen >= 2) { - iso2AuthorizationReqType->Id.charactersLen = (uint16_t)(iso2AuthorizationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2AuthorizationReqType->Id.charactersLen, iso2AuthorizationReqType->Id.characters, iso2AuthorizationReqType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2AuthorizationReqType->Id_isUsed = 1u; - grammarID = 1829; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); - } - iso2AuthorizationReqType->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1829: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); - } - iso2AuthorizationReqType->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2016:MsgDataTypes":Parameter{1-16})', derivedBy='RESTRICTION'. */ -static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType) { - int grammarID = 1830; - int done = 0; - - init_iso2ParameterSetType(iso2ParameterSetType); - - while(!done) { - switch(grammarID) { - case 1830: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ParameterSetType->ParameterSetID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1831; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1832; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1833; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1834; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1835; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1836; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1837; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1838; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1839; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1840; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1841; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1842; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1843; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1844; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1845; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1846; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType) { - int grammarID = 1847; - int done = 0; - - init_iso2SPKIDataType(iso2SPKIDataType); - - while(!done) { - switch(grammarID) { - case 1847: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1848: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1849; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1849: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); - } - iso2SPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1848; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":GenChallenge,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp))', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - int grammarID = 1850; - int done = 0; - - init_iso2PaymentDetailsResType(iso2PaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 1850: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PaymentDetailsResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1851; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PaymentDetailsResType->EVSEStatus); - iso2PaymentDetailsResType->EVSEStatus_isUsed = 1u; - grammarID = 1852; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1853; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2PaymentDetailsResType->EVSETimeStamp); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType) { - int grammarID = 1854; - int done = 0; - - init_iso2SignatureMethodType(iso2SignatureMethodType); - - while(!done) { - switch(grammarID) { - case 1854: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->Algorithm.charactersLen >= 2) { - iso2SignatureMethodType->Algorithm.charactersLen = (uint16_t)(iso2SignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->Algorithm.charactersLen, iso2SignatureMethodType->Algorithm.characters, iso2SignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 1855; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1855: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); - iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 685; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 1856; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1856: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); - iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 685; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 2: - done = 1; - grammarID = 4; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2SignatureMethodType->ANY.charactersLen >= 2) { - iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureMethodType->ANY_isUsed = 1u; - grammarID = 1856; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSETargetPower,"urn:iso:15118:2:2016:MsgBody":EVSETargetReactivePower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - int grammarID = 1857; - int done = 0; - - init_iso2AC_BidirectionalControlResType(iso2AC_BidirectionalControlResType); - - while(!done) { - switch(grammarID) { - case 1857: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1858; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AC_BidirectionalControlResType->EVSEStatus); - iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; - grammarID = 1859; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1860; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetPower); - grammarID = 1861; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetReactivePower); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2AC_BidirectionalControlResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2AC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { - iso2AC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2AC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2AC_BidirectionalControlResType->EVSEID.charactersLen, iso2AC_BidirectionalControlResType->EVSEID.characters, iso2AC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2AC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); - iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); - iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus,"urn:iso:15118:2:2016:MsgBody":CheckOutTime)', derivedBy='EXTENSION'. */ -static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - int grammarID = 1862; - int done = 0; - - init_iso2VehicleCheckOutReqType(iso2VehicleCheckOutReqType); - - while(!done) { - switch(grammarID) { - case 1862: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2VehicleCheckOutReqType->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1863; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &iso2VehicleCheckOutReqType->CheckOutTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - int grammarID = 674; - int done = 0; - - init_iso2WeldingDetectionReqType(iso2WeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - int grammarID = 1864; - int done = 0; - - init_iso2AlignmentCheckResType(iso2AlignmentCheckResType); - - while(!done) { - switch(grammarID) { - case 1864: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2AlignmentCheckResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1865; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2AlignmentCheckResType->EVSEStatus); - iso2AlignmentCheckResType->EVSEStatus_isUsed = 1u; - grammarID = 1866; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 676; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckResType->AlignmentCheckParameters); - iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetPower,"urn:iso:15118:2:2016:MsgBody":EVInputPower,"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - int grammarID = 1867; - int done = 0; - - init_iso2PowerDemandReqType(iso2PowerDemandReqType); - - while(!done) { - switch(grammarID) { - case 1867: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetEnergyRequest); - grammarID = 1868; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMaximumEnergyRequest); - iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1869; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1870; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); - iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1870; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); - iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; - grammarID = 1871; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); - grammarID = 1872; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVInputPower); - grammarID = 1873; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandReqType->PowerDemandParameters); - iso2PowerDemandReqType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MinimumPMaxRequestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MinimumPMaxScheduleEntry{1-3})', derivedBy='RESTRICTION'. */ -static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - int grammarID = 1874; - int done = 0; - - init_iso2MinimumPMaxRequestType(iso2MinimumPMaxRequestType); - - while(!done) { - switch(grammarID) { - case 1874: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1875; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1876; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - init_iso2DisconnectChargingDeviceResType(iso2DisconnectChargingDeviceResType); - - while(!done) { - switch(grammarID) { - case 591: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2DisconnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2DisconnectChargingDeviceResType->EVSEStatus); - iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 1u; - grammarID = 593; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 594; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2DisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2DisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - int grammarID = 1877; - int done = 0; - - init_iso2SessionSetupReqType(iso2SessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 1877: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (iso2SessionSetupReqType->EVCCID.bytesLen) <= iso2SessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SessionSetupReqType->EVCCID.bytesLen, iso2SessionSetupReqType->EVCCID.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - int grammarID = 1878; - int done = 0; - - init_iso2PaymentDetailsReqType(iso2PaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 1878: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsReqType->eMAID.charactersLen); - if (errn == 0) { - if (iso2PaymentDetailsReqType->eMAID.charactersLen >= 2) { - iso2PaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(iso2PaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2PaymentDetailsReqType->eMAID.charactersLen, iso2PaymentDetailsReqType->eMAID.characters, iso2PaymentDetailsReqType_eMAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1879; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2PaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ -static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - init_iso2Generic_EVFinePositioningParametersType(iso2Generic_EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVFinePositioningParametersType->GenericParameters); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - init_iso2ConnectChargingDeviceReqType(iso2ConnectChargingDeviceReqType); - - while(!done) { - switch(grammarID) { - case 1496: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2ConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency)', derivedBy='EXTENSION'. */ -static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - int grammarID = 1881; - int done = 0; - - init_iso2AC_EVSEChargeParameterType(iso2AC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1881: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); - grammarID = 1882; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalVoltage); - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalFrequency); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ -static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - int grammarID = 1883; - int done = 0; - - init_iso2SalesTariffEntryType(iso2SalesTariffEntryType); - - while(!done) { - switch(grammarID) { - case 1883: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2RelativeTimeIntervalType(stream, &iso2SalesTariffEntryType->RelativeTimeInterval); - grammarID = 1884; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - iso2SalesTariffEntryType->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1885; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1886; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1886; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1887; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEBidirectionalParameterType', base type name='DC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - int grammarID = 1888; - int done = 0; - - init_iso2DC_EVSEBidirectionalParameterType(iso2DC_EVSEBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 1888: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargePower); - grammarID = 1889; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); - grammarID = 1890; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent); - grammarID = 1891; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumVoltage); - grammarID = 1892; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumVoltage); - grammarID = 1893; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance); - iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 1894; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); - grammarID = 1895; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); - grammarID = 1895; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered); - iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 1896; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); - grammarID = 1897; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); - grammarID = 1897; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); - grammarID = 1898; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,CanonicalizationMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - int grammarID = 1899; - int done = 0; - - init_iso2CanonicalizationMethodType(iso2CanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 1899: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->Algorithm.charactersLen >= 2) { - iso2CanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->Algorithm.charactersLen, iso2CanonicalizationMethodType->Algorithm.characters, iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 684; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { - iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2CanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DisplayParametersType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":CurrentRange{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingPerformance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToTargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToBulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToMinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":InletHot{0-1})', derivedBy='RESTRICTION'. */ -static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType) { - int grammarID = 1900; - int done = 0; - - init_iso2DisplayParametersType(iso2DisplayParametersType); - - while(!done) { - switch(grammarID) { - case 1900: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2DisplayParametersType->CurrentRange); - iso2DisplayParametersType->CurrentRange_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1901; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 11: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 12: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1902; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 11: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1903; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 10: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1904; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 9: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1905; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); - iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; - grammarID = 1906; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1907; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1908; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1909; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); - iso2DisplayParametersType->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1910; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); - iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1911; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); - iso2DisplayParametersType->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVBidirectionalParameterType', base type name='DC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1})),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - int grammarID = 1912; - int done = 0; - - init_iso2DC_EVBidirectionalParameterType(iso2DC_EVBidirectionalParameterType); - - while(!done) { - switch(grammarID) { - case 1912: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2DC_EVBidirectionalParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1913; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 1u; - grammarID = 1914; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1915; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1915; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); - grammarID = 1916; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargeCurrent); - grammarID = 1917; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumVoltage); - grammarID = 1918; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1919; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1920; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 7: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 8: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1920; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 7: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); - iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1921; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 6: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1922; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1923; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1924; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; - grammarID = 1925; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); - iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; - grammarID = 1926; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); - grammarID = 1927; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); - grammarID = 1928; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumVoltage); - grammarID = 1929; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVBidirectionalParameterType->MinimumSOC = (int8_t)(uint32 + 0); - iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2016:MsgBody":SelectedEnergyTransferService,"urn:iso:15118:2:2016:MsgBody":SelectedVASList{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - int grammarID = 1930; - int done = 0; - - init_iso2PaymentServiceSelectionReqType(iso2PaymentServiceSelectionReqType); - - while(!done) { - switch(grammarID) { - case 1930: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2PaymentServiceSelectionReqType->SelectedPaymentOption = (iso2paymentOptionType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1931; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SelectedServiceType(stream, &iso2PaymentServiceSelectionReqType->SelectedEnergyTransferService); - grammarID = 1932; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SelectedServiceListType(stream, &iso2PaymentServiceSelectionReqType->SelectedVASList); - iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":Distance,"urn:iso:15118:2:2016:MsgDataTypes":AngleGAtoVA,"urn:iso:15118:2:2016:MsgDataTypes":RotationVAtoGA,"urn:iso:15118:2:2016:MsgDataTypes":FODStatus)', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType) { - int grammarID = 1933; - int done = 0; - - init_iso2MagneticVectorType(iso2MagneticVectorType); - - while(!done) { - switch(grammarID) { - case 1933: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->GAID.charactersLen); - if (errn == 0) { - if (iso2MagneticVectorType->GAID.charactersLen >= 2) { - iso2MagneticVectorType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorType->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2MagneticVectorType->GAID.charactersLen, iso2MagneticVectorType->GAID.characters, iso2MagneticVectorType_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1934; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->Distance); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1935; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->AngleGAtoVA); - grammarID = 1936; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->RotationVAtoGA); - grammarID = 1937; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2MagneticVectorType->FODStatus = (iso2FODStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Exponent,"urn:iso:15118:2:2016:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType) { - int grammarID = 1938; - int done = 0; - - init_iso2PhysicalValueType(iso2PhysicalValueType); - - while(!done) { - switch(grammarID) { - case 1938: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &(uint32)); - iso2PhysicalValueType->Exponent = (int8_t)(uint32 -3); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1939; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2PhysicalValueType->Value); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ -static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - int grammarID = 1940; - int done = 0; - - init_iso2SystemStatusReqType(iso2SystemStatusReqType); - - while(!done) { - switch(grammarID) { - case 1940: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusReqType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1497; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2SystemStatusReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ -static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType) { - int grammarID = 1941; - int done = 0; - - init_iso2SystemStatusResType(iso2SystemStatusResType); - - while(!done) { - switch(grammarID) { - case 1941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2SystemStatusResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1942; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2SystemStatusResType->EVSEStatus); - iso2SystemStatusResType->EVSEStatus_isUsed = 1u; - grammarID = 1943; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 595; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2SystemStatusResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEFinePositioningSetupParametersType(iso2EVSEFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GResponseType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType) { - int grammarID = 599; - int done = 0; - - init_iso2V2GResponseType(iso2V2GResponseType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2V2GResponseType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2V2GResponseType->EVSEStatus); - iso2V2GResponseType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":BodyElement)', derivedBy='RESTRICTION'. */ -static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType) { - int grammarID = 1944; - int done = 0; - - init_iso2BodyType(iso2BodyType); - - while(!done) { - switch(grammarID) { - case 1944: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes)] */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_BidirectionalControlReqType(stream, &iso2BodyType->AC_BidirectionalControlReq); - iso2BodyType->AC_BidirectionalControlReq_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2AC_BidirectionalControlResType(stream, &iso2BodyType->AC_BidirectionalControlRes); - iso2BodyType->AC_BidirectionalControlRes_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2AlignmentCheckReqType(stream, &iso2BodyType->AlignmentCheckReq); - iso2BodyType->AlignmentCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2AlignmentCheckResType(stream, &iso2BodyType->AlignmentCheckRes); - iso2BodyType->AlignmentCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2AuthorizationReqType(stream, &iso2BodyType->AuthorizationReq); - iso2BodyType->AuthorizationReq_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2AuthorizationResType(stream, &iso2BodyType->AuthorizationRes); - iso2BodyType->AuthorizationRes_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso2BodyBaseType(stream, &iso2BodyType->BodyElement); - iso2BodyType->BodyElement_isUsed = 1u; - grammarID = 3; - break; - case 7: - errn = decode_iso2CableCheckReqType(stream, &iso2BodyType->CableCheckReq); - iso2BodyType->CableCheckReq_isUsed = 1u; - grammarID = 3; - break; - case 8: - errn = decode_iso2CableCheckResType(stream, &iso2BodyType->CableCheckRes); - iso2BodyType->CableCheckRes_isUsed = 1u; - grammarID = 3; - break; - case 9: - errn = decode_iso2CertificateInstallationReqType(stream, &iso2BodyType->CertificateInstallationReq); - iso2BodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 3; - break; - case 10: - errn = decode_iso2CertificateInstallationResType(stream, &iso2BodyType->CertificateInstallationRes); - iso2BodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 3; - break; - case 11: - errn = decode_iso2CertificateUpdateReqType(stream, &iso2BodyType->CertificateUpdateReq); - iso2BodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 3; - break; - case 12: - errn = decode_iso2CertificateUpdateResType(stream, &iso2BodyType->CertificateUpdateRes); - iso2BodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 3; - break; - case 13: - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &iso2BodyType->ChargeParameterDiscoveryReq); - iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 14: - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &iso2BodyType->ChargeParameterDiscoveryRes); - iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 15: - errn = decode_iso2ChargingStatusReqType(stream, &iso2BodyType->ChargingStatusReq); - iso2BodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 16: - errn = decode_iso2ChargingStatusResType(stream, &iso2BodyType->ChargingStatusRes); - iso2BodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 17: - errn = decode_iso2ConnectChargingDeviceReqType(stream, &iso2BodyType->ConnectChargingDeviceReq); - iso2BodyType->ConnectChargingDeviceReq_isUsed = 1u; - grammarID = 3; - break; - case 18: - errn = decode_iso2ConnectChargingDeviceResType(stream, &iso2BodyType->ConnectChargingDeviceRes); - iso2BodyType->ConnectChargingDeviceRes_isUsed = 1u; - grammarID = 3; - break; - case 19: - errn = decode_iso2CurrentDemandReqType(stream, &iso2BodyType->CurrentDemandReq); - iso2BodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 20: - errn = decode_iso2CurrentDemandResType(stream, &iso2BodyType->CurrentDemandRes); - iso2BodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 21: - errn = decode_iso2DC_BidirectionalControlReqType(stream, &iso2BodyType->DC_BidirectionalControlReq); - iso2BodyType->DC_BidirectionalControlReq_isUsed = 1u; - grammarID = 3; - break; - case 22: - errn = decode_iso2DC_BidirectionalControlResType(stream, &iso2BodyType->DC_BidirectionalControlRes); - iso2BodyType->DC_BidirectionalControlRes_isUsed = 1u; - grammarID = 3; - break; - case 23: - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &iso2BodyType->DisconnectChargingDeviceReq); - iso2BodyType->DisconnectChargingDeviceReq_isUsed = 1u; - grammarID = 3; - break; - case 24: - errn = decode_iso2DisconnectChargingDeviceResType(stream, &iso2BodyType->DisconnectChargingDeviceRes); - iso2BodyType->DisconnectChargingDeviceRes_isUsed = 1u; - grammarID = 3; - break; - case 25: - errn = decode_iso2FinePositioningReqType(stream, &iso2BodyType->FinePositioningReq); - iso2BodyType->FinePositioningReq_isUsed = 1u; - grammarID = 3; - break; - case 26: - errn = decode_iso2FinePositioningResType(stream, &iso2BodyType->FinePositioningRes); - iso2BodyType->FinePositioningRes_isUsed = 1u; - grammarID = 3; - break; - case 27: - errn = decode_iso2FinePositioningSetupReqType(stream, &iso2BodyType->FinePositioningSetupReq); - iso2BodyType->FinePositioningSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 28: - errn = decode_iso2FinePositioningSetupResType(stream, &iso2BodyType->FinePositioningSetupRes); - iso2BodyType->FinePositioningSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 29: - errn = decode_iso2MeteringReceiptReqType(stream, &iso2BodyType->MeteringReceiptReq); - iso2BodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 3; - break; - case 30: - errn = decode_iso2MeteringReceiptResType(stream, &iso2BodyType->MeteringReceiptRes); - iso2BodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 3; - break; - case 31: - errn = decode_iso2PairingReqType(stream, &iso2BodyType->PairingReq); - iso2BodyType->PairingReq_isUsed = 1u; - grammarID = 3; - break; - case 32: - errn = decode_iso2PairingResType(stream, &iso2BodyType->PairingRes); - iso2BodyType->PairingRes_isUsed = 1u; - grammarID = 3; - break; - case 33: - errn = decode_iso2PaymentDetailsReqType(stream, &iso2BodyType->PaymentDetailsReq); - iso2BodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 3; - break; - case 34: - errn = decode_iso2PaymentDetailsResType(stream, &iso2BodyType->PaymentDetailsRes); - iso2BodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 3; - break; - case 35: - errn = decode_iso2PaymentServiceSelectionReqType(stream, &iso2BodyType->PaymentServiceSelectionReq); - iso2BodyType->PaymentServiceSelectionReq_isUsed = 1u; - grammarID = 3; - break; - case 36: - errn = decode_iso2PaymentServiceSelectionResType(stream, &iso2BodyType->PaymentServiceSelectionRes); - iso2BodyType->PaymentServiceSelectionRes_isUsed = 1u; - grammarID = 3; - break; - case 37: - errn = decode_iso2PowerDeliveryReqType(stream, &iso2BodyType->PowerDeliveryReq); - iso2BodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 3; - break; - case 38: - errn = decode_iso2PowerDeliveryResType(stream, &iso2BodyType->PowerDeliveryRes); - iso2BodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 3; - break; - case 39: - errn = decode_iso2PowerDemandReqType(stream, &iso2BodyType->PowerDemandReq); - iso2BodyType->PowerDemandReq_isUsed = 1u; - grammarID = 3; - break; - case 40: - errn = decode_iso2PowerDemandResType(stream, &iso2BodyType->PowerDemandRes); - iso2BodyType->PowerDemandRes_isUsed = 1u; - grammarID = 3; - break; - case 41: - errn = decode_iso2PreChargeReqType(stream, &iso2BodyType->PreChargeReq); - iso2BodyType->PreChargeReq_isUsed = 1u; - grammarID = 3; - break; - case 42: - errn = decode_iso2PreChargeResType(stream, &iso2BodyType->PreChargeRes); - iso2BodyType->PreChargeRes_isUsed = 1u; - grammarID = 3; - break; - case 43: - errn = decode_iso2ServiceDetailReqType(stream, &iso2BodyType->ServiceDetailReq); - iso2BodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 3; - break; - case 44: - errn = decode_iso2ServiceDetailResType(stream, &iso2BodyType->ServiceDetailRes); - iso2BodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 3; - break; - case 45: - errn = decode_iso2ServiceDiscoveryReqType(stream, &iso2BodyType->ServiceDiscoveryReq); - iso2BodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 3; - break; - case 46: - errn = decode_iso2ServiceDiscoveryResType(stream, &iso2BodyType->ServiceDiscoveryRes); - iso2BodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 3; - break; - case 47: - errn = decode_iso2SessionSetupReqType(stream, &iso2BodyType->SessionSetupReq); - iso2BodyType->SessionSetupReq_isUsed = 1u; - grammarID = 3; - break; - case 48: - errn = decode_iso2SessionSetupResType(stream, &iso2BodyType->SessionSetupRes); - iso2BodyType->SessionSetupRes_isUsed = 1u; - grammarID = 3; - break; - case 49: - errn = decode_iso2SessionStopReqType(stream, &iso2BodyType->SessionStopReq); - iso2BodyType->SessionStopReq_isUsed = 1u; - grammarID = 3; - break; - case 50: - errn = decode_iso2SessionStopResType(stream, &iso2BodyType->SessionStopRes); - iso2BodyType->SessionStopRes_isUsed = 1u; - grammarID = 3; - break; - case 51: - errn = decode_iso2SystemStatusReqType(stream, &iso2BodyType->SystemStatusReq); - iso2BodyType->SystemStatusReq_isUsed = 1u; - grammarID = 3; - break; - case 52: - errn = decode_iso2SystemStatusResType(stream, &iso2BodyType->SystemStatusRes); - iso2BodyType->SystemStatusRes_isUsed = 1u; - grammarID = 3; - break; - case 53: - errn = decode_iso2BodyBaseType(stream, &iso2BodyType->V2GRequest); - iso2BodyType->V2GRequest_isUsed = 1u; - grammarID = 3; - break; - case 54: - errn = decode_iso2V2GResponseType(stream, &iso2BodyType->V2GResponse); - iso2BodyType->V2GResponse_isUsed = 1u; - grammarID = 3; - break; - case 55: - errn = decode_iso2VehicleCheckInReqType(stream, &iso2BodyType->VehicleCheckInReq); - iso2BodyType->VehicleCheckInReq_isUsed = 1u; - grammarID = 3; - break; - case 56: - errn = decode_iso2VehicleCheckInResType(stream, &iso2BodyType->VehicleCheckInRes); - iso2BodyType->VehicleCheckInRes_isUsed = 1u; - grammarID = 3; - break; - case 57: - errn = decode_iso2VehicleCheckOutReqType(stream, &iso2BodyType->VehicleCheckOutReq); - iso2BodyType->VehicleCheckOutReq_isUsed = 1u; - grammarID = 3; - break; - case 58: - errn = decode_iso2VehicleCheckOutResType(stream, &iso2BodyType->VehicleCheckOutRes); - iso2BodyType->VehicleCheckOutRes_isUsed = 1u; - grammarID = 3; - break; - case 59: - errn = decode_iso2WeldingDetectionReqType(stream, &iso2BodyType->WeldingDetectionReq); - iso2BodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 3; - break; - case 60: - errn = decode_iso2WeldingDetectionResType(stream, &iso2BodyType->WeldingDetectionRes); - iso2BodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ -static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType) { - int grammarID = 596; - int done = 0; - - init_iso2PreChargeResType(iso2PreChargeResType); - - while(!done) { - switch(grammarID) { - case 596: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PreChargeResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 597; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PreChargeResType->EVSEStatus); - iso2PreChargeResType->EVSEStatus_isUsed = 1u; - grammarID = 598; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVSEFinePositioningParametersType(iso2EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - int grammarID = 599; - int done = 0; - - init_iso2PaymentServiceSelectionResType(iso2PaymentServiceSelectionResType); - - while(!done) { - switch(grammarID) { - case 599: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PaymentServiceSelectionResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 600; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PaymentServiceSelectionResType->EVSEStatus); - iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType) { - int grammarID = 1899; - int done = 0; - - init_iso2DigestMethodType(iso2DigestMethodType); - - while(!done) { - switch(grammarID) { - case 1899: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->Algorithm.charactersLen >= 2) { - iso2DigestMethodType->Algorithm.charactersLen = (uint16_t)(iso2DigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->Algorithm.charactersLen, iso2DigestMethodType->Algorithm.characters, iso2DigestMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 684; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->ANY.charactersLen >= 2) { - iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2DigestMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 685; - break; - case 1: - done = 1; - grammarID = 4; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (iso2DigestMethodType->ANY.charactersLen >= 2) { - iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2DigestMethodType->ANY_isUsed = 1u; - grammarID = 685; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,TargetPositionType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetX,"urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetY)', derivedBy='RESTRICTION'. */ -static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType) { - int grammarID = 1945; - int done = 0; - - init_iso2TargetPositionType(iso2TargetPositionType); - - while(!done) { - switch(grammarID) { - case 1945: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetX); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1946; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1946: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetY); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ -static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - init_iso2LFA_EVFinePositioningParametersType(iso2LFA_EVFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 670: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2LFA_EVFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 671; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVFinePositioningParametersType->SensorPackageList); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - int grammarID = 1947; - int done = 0; - - init_iso2DC_EVChargeParameterType(iso2DC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 1947: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2DC_EVChargeParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1948; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargePower); - iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 1u; - grammarID = 1949; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1950; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); - iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; - grammarID = 1950; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1950: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); - grammarID = 1951; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargeCurrent); - grammarID = 1952; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumVoltage); - grammarID = 1953; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVTargetEnergyRequest); - iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; - grammarID = 1954; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1955; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); - iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 1955; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); - iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 1956; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1957; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1958; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1958: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - int grammarID = 1959; - int done = 0; - - init_iso2ServiceDetailReqType(iso2ServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 1959: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailReqType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType) { - int grammarID = 1960; - int done = 0; - - init_iso2PreChargeReqType(iso2PreChargeReqType); - - while(!done) { - switch(grammarID) { - case 1960: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetVoltage); - grammarID = 1961; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetCurrent); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,ManifestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType) { - int grammarID = 1962; - int done = 0; - - init_iso2ManifestType(iso2ManifestType); - - while(!done) { - switch(grammarID) { - case 1962: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ManifestType->Id.charactersLen); - if (errn == 0) { - if (iso2ManifestType->Id.charactersLen >= 2) { - iso2ManifestType->Id.charactersLen = (uint16_t)(iso2ManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ManifestType->Id.charactersLen, iso2ManifestType->Id.characters, iso2ManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2ManifestType->Id_isUsed = 1u; - grammarID = 1963; - break; - case 1: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1963: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDef":Header,"urn:iso:15118:2:2016:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - int grammarID = 1965; - int done = 0; - - init_iso2AnonType_V2G_Message(iso2AnonType_V2G_Message); - - while(!done) { - switch(grammarID) { - case 1965: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MessageHeaderType(stream, &iso2AnonType_V2G_Message->Header); - grammarID = 1966; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2BodyType(stream, &iso2AnonType_V2G_Message->Body); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SelectedService{1-16})', derivedBy='RESTRICTION'. */ -static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - int grammarID = 1967; - int done = 0; - - init_iso2SelectedServiceListType(iso2SelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 1967: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1968; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1969; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1970; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1971; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1972; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1973; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1974; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1975; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1976; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1977; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1978; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1979; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1980; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1981; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1982; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ -static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - init_iso2Generic_EVSEFinePositioningParametersType(iso2Generic_EVSEFinePositioningParametersType); - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVSEFinePositioningParametersType->GenericParameters); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CartesianCoordinatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":XCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":YCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":ZCoordinate)', derivedBy='RESTRICTION'. */ -static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - int grammarID = 1983; - int done = 0; - - init_iso2CartesianCoordinatesType(iso2CartesianCoordinatesType); - - while(!done) { - switch(grammarID) { - case 1983: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->XCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1984; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->YCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1985; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->ZCoordinate); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyInfoType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":KeyName|"http://www.w3.org/2000/09/xmldsig#":KeyValue|"http://www.w3.org/2000/09/xmldsig#":RetrievalMethod|"http://www.w3.org/2000/09/xmldsig#":X509Data|"http://www.w3.org/2000/09/xmldsig#":PGPData|"http://www.w3.org/2000/09/xmldsig#":SPKIData|"http://www.w3.org/2000/09/xmldsig#":MgmtData|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ -static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType) { - int grammarID = 1986; - int done = 0; - - init_iso2KeyInfoType(iso2KeyInfoType); - - while(!done) { - switch(grammarID) { - case 1986: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->Id.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->Id.charactersLen >= 2) { - iso2KeyInfoType->Id.charactersLen = (uint16_t)(iso2KeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->Id.charactersLen, iso2KeyInfoType->Id.characters, iso2KeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->Id_isUsed = 1u; - grammarID = 1987; - break; - case 1: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 7: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 8: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1987: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1988: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - done = 1; - grammarID = 4; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1988; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1989: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->KeyName.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 2: - if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 3: - if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 4: - if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 5: - if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1988; - break; - case 6: - if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->MgmtData.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1988; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 7: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 1988; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (iso2KeyInfoType->ANY.charactersLen >= 2) { - iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2KeyInfoType->ANY_isUsed = 1u; - grammarID = 1989; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ -static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType) { - int grammarID = 1990; - int done = 0; - - init_iso2SubCertificatesType(iso2SubCertificatesType); - - while(!done) { - switch(grammarID) { - case 1990: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1991; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1992; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1993; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); - } - iso2SubCertificatesType->Certificate.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RootCertificateID{1-20})', derivedBy='RESTRICTION'. */ -static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - int grammarID = 1994; - int done = 0; - - init_iso2ListOfRootCertificateIDsType(iso2ListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 1994: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1995; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1996; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1997; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1998; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1999; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2000; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2001; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2002; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2003; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2004; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2005; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2006; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2007; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2008; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2009; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2010; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2011; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2012; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2013; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVEnergyTransferParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime)', derivedBy='RESTRICTION'. */ -static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - int grammarID = 2014; - int done = 0; - - init_iso2EVEnergyTransferParameterType(iso2EVEnergyTransferParameterType); - - while(!done) { - switch(grammarID) { - case 2014: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2EVEnergyTransferParameterType->DepartureTime); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='encryptedPrivateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 2015; - int done = 0; - - init_iso2ContractSignatureEncryptedPrivateKeyType(iso2ContractSignatureEncryptedPrivateKeyType); - - while(!done) { - switch(grammarID) { - case 2015: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - if (errn == 0) { - if (iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { - iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen, iso2ContractSignatureEncryptedPrivateKeyType->Id.characters, iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2016; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - int grammarID = 2017; - int done = 0; - - init_iso2MagneticVectorSetupListType(iso2MagneticVectorSetupListType); - - while(!done) { - switch(grammarID) { - case 2017: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2018; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2019; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2020; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2021; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2022; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2023; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2024; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2025; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2026; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2027; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2028; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2029; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2030; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2031; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2032; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2033; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2034; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2035; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2036; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2037; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2038; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2039; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2040; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2041; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2042; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2043; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2044; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2045; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2046; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2047; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2048; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2049; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2050; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2051; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2052; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2053; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2054; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2055; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2056; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2057; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2058; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2059; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2060; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2061; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2062; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2063; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2064; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2065; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2066; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2067; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2068; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2069; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2070; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2071; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2072; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2073; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2074; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2075; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2076; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2077; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2078; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2079; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2080; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2081; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2082; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2083; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2084; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2085; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2086; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2087; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2088; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2089; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2090; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2091; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2092; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2093; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2094; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2095; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2096; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2097; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2098; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2099; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2100; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2101; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2102; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2103; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2104; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2105; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2106; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2107; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2108; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2109; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2110; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2111; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2112; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2113; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2114; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2115; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2116; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2117; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2118; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2119; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2120; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2121; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2122; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2123; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2124; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2125; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2126; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2127; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2128; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2129; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2130; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2131; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2132; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2133; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2134; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2135; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2136; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2137; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2138; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2139; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2140; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2141; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2142; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2143; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2144; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2145; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2146; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2147; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2148; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2149; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2150; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2151; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2152; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2153; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2154; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2155; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2156; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2157; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2158; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2159; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2160; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2161; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2162; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2163; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2164; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2165; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2166; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2167; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2168; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2169; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2170; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2171; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2172; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2173; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2174; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2175; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2176; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2177; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2178; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2179; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2180; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2181; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2182; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2183; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2184; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2185; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2186; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2187; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2188; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2189; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2190; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2191; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2192; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2193; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2194; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2195; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2196; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2197; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2198; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2199; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2200; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2201; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2202; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2203; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2204; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2205; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2206; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2207; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2208; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2209; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2210; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2211; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2212; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2213; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2214; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2215; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2216; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2217; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2218; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2219; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2220; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2221; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2222; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2223; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2224; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2225; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2226; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2227; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2228; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2229; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2230; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2231; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2232; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2233; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2234; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2235; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2236; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2237; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2238; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2239; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2240; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2241; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2242; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2243; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2244; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2245; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2246; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2247; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2248; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2249; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2250; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2251; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2252; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2253; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2254; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2255; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2256; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2257; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2258; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2259; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2260; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2261; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2262; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2263; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2264; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2265; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2266; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2267; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2268; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2269; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2270; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2271; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { - errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType) { - int grammarID = 2272; - int done = 0; - - init_iso2PairingReqType(iso2PairingReqType); - - while(!done) { - switch(grammarID) { - case 2272: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PairingReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1827; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PairingReqType->PairingParameters); - iso2PairingReqType->PairingParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - int grammarID = 2273; - int done = 0; - - init_iso2CurrentDemandResType(iso2CurrentDemandResType); - - while(!done) { - switch(grammarID) { - case 2273: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CurrentDemandResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2274; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CurrentDemandResType->EVSEStatus); - iso2CurrentDemandResType->EVSEStatus_isUsed = 1u; - grammarID = 2275; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); - grammarID = 2276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); - grammarID = 2276; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentVoltage); - grammarID = 2277; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEPowerLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2278; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSECurrentLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2279; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEVoltageLimitAchieved); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2280; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumPower); - iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 1u; - grammarID = 2281; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; - grammarID = 2282; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); - iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; - grammarID = 2282; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); - iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; - grammarID = 27; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { - iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 28; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2CurrentDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 29; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); - iso2CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); - iso2CurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 30; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); - iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)', derivedBy='RESTRICTION'. */ -static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - int grammarID = 2283; - int done = 0; - - init_iso2X509IssuerSerialType(iso2X509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 2283: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2X509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (iso2X509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - iso2X509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(iso2X509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2X509IssuerSerialType->X509IssuerName.charactersLen, iso2X509IssuerSerialType->X509IssuerName.characters, iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2284; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2284: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &iso2X509IssuerSerialType->X509SerialNumber); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - int grammarID = 2285; - int done = 0; - - init_iso2ChargingStatusReqType(iso2ChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 2285: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVTargetEnergyRequest); - grammarID = 2286; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumEnergyRequest); - iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 1u; - grammarID = 2287; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 2288; - break; - case 2: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 5: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 6: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); - iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; - grammarID = 2288; - break; - case 1: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 4: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 5: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); - iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; - grammarID = 2289; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 3: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); - iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; - grammarID = 2290; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 2: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); - iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; - grammarID = 2291; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); - iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID))', derivedBy='EXTENSION'. */ -static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - int grammarID = 2292; - int done = 0; - - init_iso2CertificateInstallationResType(iso2CertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 2292: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2CertificateInstallationResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2293; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2CertificateInstallationResType->EVSEStatus); - iso2CertificateInstallationResType->EVSEStatus_isUsed = 1u; - grammarID = 2294; - break; - case 1: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 2295; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 2295; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->ContractSignatureCertChain); - grammarID = 2296; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateInstallationResType->ContractSignatureEncryptedPrivateKey); - grammarID = 2297; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateInstallationResType->DHpublickey); - grammarID = 2298; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EMAIDType(stream, &iso2CertificateInstallationResType->eMAID); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PackageIndex,"urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements{1-255})', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType) { - int grammarID = 2299; - int done = 0; - - init_iso2SensorPackageType(iso2SensorPackageType); - - while(!done) { - switch(grammarID) { - case 2299: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &iso2SensorPackageType->PackageIndex); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2300; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2301; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2302; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2303; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2304; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2305; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2306; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2307; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2308; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2309; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2310; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2311; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2312; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2313; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2314; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2315; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2316; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2317; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2318; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2319; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2320; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2321; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2322; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2323; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2324; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2325; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2326; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2327; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2328; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2329; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2330; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2331; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2332; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2333; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2334; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2335; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2336; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2337; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2338; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2339; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2340; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2341; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2342; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2343; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2344; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2345; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2346; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2347; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2348; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2349; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2350; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2351; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2352; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2353; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2354; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2355; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2356; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2357; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2358; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2359; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2360; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2361; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2362; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2363; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2364; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2365; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2366; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2367; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2368; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2369; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2370; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2371; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2372; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2373; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2374; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2375; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2376; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2377; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2378; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2379; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2380; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2381; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2382; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2383; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2384; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2385; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2386; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2387; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2388; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2389; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2390; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2391; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2392; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2393; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2394; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2395; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2396; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2397; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2398; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2399; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2400; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2401; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2402; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2403; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2404; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2405; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2406; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2407; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2408; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2409; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2410; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2411; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2412; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2413; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2414; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2415; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2416; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2417; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2418; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2419; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2420; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2421; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2422; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2423; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2424; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2425; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2426; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2427; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2428; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2429; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2430; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2431; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2432; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2433; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2434; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2435; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2436; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2437; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2438; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2439; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2440; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2441; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2442; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2443; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2444; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2445; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2446; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2447; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2448; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2449; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2450; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2451; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2452; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2453; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2454; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2455; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2456; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2457; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2458; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2459; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2460; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2461; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2462; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2463; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2464; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2465; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2466; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2467; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2468; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2469; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2470; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2471; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2472; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2473; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2474; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2475; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2476; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2477; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2478; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2479; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2480; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2481; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2482; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2483; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2484; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2485; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2486; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2487; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2488; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2489; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2490; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2491; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2492; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2493; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2494; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2495; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2496; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2497; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2498; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2499; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2500; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2501; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2502; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2503; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2504; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2505; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2506; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2507; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2508; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2509; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2510; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2511; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2512; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2513; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2514; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2515; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2516; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2517; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2518; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2519; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2520; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2521; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2522; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2523; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2524; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2525; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2526; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2527; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2528; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2529; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2530; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2531; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2532; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2533; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2534; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2535; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2536; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2537; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2538; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2539; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2540; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2541; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2542; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2543; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2544; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2545; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2546; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2547; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2548; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2549; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2550; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2551; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2552; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2553; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2554; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { - errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ -static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType) { - int grammarID = 2555; - int done = 0; - - init_iso2PGPDataType(iso2PGPDataType); - - while(!done) { - switch(grammarID) { - case 2555: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyID.bytesLen) <= iso2PGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyID.bytesLen, iso2PGPDataType->PGPKeyID.bytes); - } - iso2PGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2556; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); - } - iso2PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2557; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2556: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); - } - iso2PGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2557; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2557; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2557: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2557; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":PaymentOptionList,"urn:iso:15118:2:2016:MsgBody":EnergyTransferServiceList,"urn:iso:15118:2:2016:MsgBody":VASList{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - int grammarID = 2558; - int done = 0; - - init_iso2ServiceDiscoveryResType(iso2ServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 2558: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ServiceDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2559; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDiscoveryResType->EVSEStatus); - iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 1u; - grammarID = 2560; - break; - case 1: - errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); - grammarID = 2561; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); - grammarID = 2561; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->EnergyTransferServiceList); - grammarID = 2562; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->VASList); - iso2ServiceDiscoveryResType->VASList_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceIDListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID{1-10})', derivedBy='RESTRICTION'. */ -static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType) { - int grammarID = 2563; - int done = 0; - - init_iso2ServiceIDListType(iso2ServiceIDListType); - - while(!done) { - switch(grammarID) { - case 2563: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2564; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2565; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2566; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2567; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2568; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2569; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2570; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2571; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2572; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); - iso2ServiceIDListType->ServiceID.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - init_iso2EVFinePositioningSetupParametersType(iso2EVFinePositioningSetupParametersType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":SAScheduleList{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyTransferParameter))', derivedBy='EXTENSION'. */ -static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - int grammarID = 2573; - int done = 0; - - init_iso2ChargeParameterDiscoveryResType(iso2ChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 2573: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2ChargeParameterDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2574; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2ChargeParameterDiscoveryResType->EVSEStatus); - iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 1u; - grammarID = 2575; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2576; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2576; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SAScheduleListType(stream, &iso2ChargeParameterDiscoveryResType->SAScheduleList); - iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 2577; - break; - case 1: - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; - grammarID = 3; - break; - case 6: - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; - grammarID = 3; - break; - case 3: - errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - case 4: - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); - iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; - grammarID = 3; - break; - case 5: - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); - iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEOutputPower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType) { - int grammarID = 2578; - int done = 0; - - init_iso2PowerDemandResType(iso2PowerDemandResType); - - while(!done) { - switch(grammarID) { - case 2578: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PowerDemandResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2579; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PowerDemandResType->EVSEStatus); - iso2PowerDemandResType->EVSEStatus_isUsed = 1u; - grammarID = 2580; - break; - case 1: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); - grammarID = 2581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); - grammarID = 2581; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2PowerDemandResType->EVSEID.charactersLen); - if (errn == 0) { - if (iso2PowerDemandResType->EVSEID.charactersLen >= 2) { - iso2PowerDemandResType->EVSEID.charactersLen = (uint16_t)(iso2PowerDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2PowerDemandResType->EVSEID.charactersLen, iso2PowerDemandResType->EVSEID.characters, iso2PowerDemandResType_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2582; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2PowerDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - iso2PowerDemandResType->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2583; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); - iso2PowerDemandResType->MeterInfo_isUsed = 1u; - grammarID = 2584; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 4: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); - iso2PowerDemandResType->MeterInfo_isUsed = 1u; - grammarID = 2584; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); - iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 1873; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); - iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType) { - int grammarID = 2585; - int done = 0; - - init_iso2ChargingProfileType(iso2ChargingProfileType); - - while(!done) { - switch(grammarID) { - case 2585: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2586; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2586; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningParameters{0-1})', derivedBy='EXTENSION'. */ -static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - int grammarID = 2587; - int done = 0; - - init_iso2FinePositioningReqType(iso2FinePositioningReqType); - - while(!done) { - switch(grammarID) { - case 2587: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2FinePositioningReqType->EVProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2588; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->EVFinePositioningParameters); - iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 1: - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->Generic_EVFinePositioningParameters); - iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 2: - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->LFA_EVFinePositioningParameters); - iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 1u; - grammarID = 3; - break; - case 3: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2016:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType) { - int grammarID = 2589; - int done = 0; - - init_iso2SalesTariffType(iso2SalesTariffType); - - while(!done) { - switch(grammarID) { - case 2589: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->Id.charactersLen); - if (errn == 0) { - if (iso2SalesTariffType->Id.charactersLen >= 2) { - iso2SalesTariffType->Id.charactersLen = (uint16_t)(iso2SalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SalesTariffType->Id.charactersLen, iso2SalesTariffType->Id.characters, iso2SalesTariffType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2590; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2590: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->SalesTariffID = (uint8_t)(uint32 + 1); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2591; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (iso2SalesTariffType->SalesTariffDescription.charactersLen >= 2) { - iso2SalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(iso2SalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SalesTariffType->SalesTariffDescription.charactersLen, iso2SalesTariffType->SalesTariffDescription.characters, iso2SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SalesTariffType->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2592; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2593; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2593; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 2594; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":SensorPosition,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrientation)', derivedBy='RESTRICTION'. */ -static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType) { - int grammarID = 2595; - int done = 0; - - init_iso2SensorType(iso2SensorType); - - while(!done) { - switch(grammarID) { - case 2595: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - iso2SensorType->SensorID = (uint8_t)(uint32 + 0); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2596; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorPosition); - grammarID = 2597; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorOrientation); - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType) { - int grammarID = 2598; - int done = 0; - - init_iso2SignatureValueType(iso2SignatureValueType); - - while(!done) { - switch(grammarID) { - case 2598: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->Id.charactersLen); - if (errn == 0) { - if (iso2SignatureValueType->Id.charactersLen >= 2) { - iso2SignatureValueType->Id.charactersLen = (uint16_t)(iso2SignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignatureValueType->Id.charactersLen, iso2SignatureValueType->Id.characters, iso2SignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignatureValueType->Id_isUsed = 1u; - grammarID = 2016; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignedInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod,"http://www.w3.org/2000/09/xmldsig#":SignatureMethod,"http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType) { - int grammarID = 2599; - int done = 0; - - init_iso2SignedInfoType(iso2SignedInfoType); - - while(!done) { - switch(grammarID) { - case 2599: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2SignedInfoType->Id.charactersLen); - if (errn == 0) { - if (iso2SignedInfoType->Id.charactersLen >= 2) { - iso2SignedInfoType->Id.charactersLen = (uint16_t)(iso2SignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2SignedInfoType->Id.charactersLen, iso2SignedInfoType->Id.characters, iso2SignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - iso2SignedInfoType->Id_isUsed = 1u; - grammarID = 2600; - break; - case 1: - errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); - grammarID = 2601; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2600: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); - grammarID = 2601; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2601: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2SignatureMethodType(stream, &iso2SignedInfoType->SignatureMethod); - grammarID = 2602; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2602: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 1964; - break; - case 1: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ -static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - int grammarID = 5; - int done = 0; - - init_iso2PowerDeliveryResType(iso2PowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - iso2PowerDeliveryResType->ResponseCode = (iso2responseCodeType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 6; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_iso2EVSEStatusType(stream, &iso2PowerDeliveryResType->EVSEStatus); - iso2PowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 7; - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType) { - int grammarID = 674; - int done = 0; - - init_iso2CableCheckReqType(iso2CableCheckReqType); - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID)', derivedBy='RESTRICTION'. */ -static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType) { - int grammarID = 2603; - int done = 0; - - init_iso2SelectedServiceType(iso2SelectedServiceType); - - while(!done) { - switch(grammarID) { - case 2603: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ServiceID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2604; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ParameterSetID); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - int grammarID = 2015; - int done = 0; - - init_iso2DiffieHellmanPublickeyType(iso2DiffieHellmanPublickeyType); - - while(!done) { - switch(grammarID) { - case 2015: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->Id.charactersLen); - if (errn == 0) { - if (iso2DiffieHellmanPublickeyType->Id.charactersLen >= 2) { - iso2DiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(iso2DiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, iso2DiffieHellmanPublickeyType->Id.charactersLen, iso2DiffieHellmanPublickeyType->Id.characters, iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 2016; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (iso2DiffieHellmanPublickeyType->CONTENT.bytesLen) <= iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, iso2DiffieHellmanPublickeyType->CONTENT.bytesLen, iso2DiffieHellmanPublickeyType->CONTENT.bytes); - } - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2016:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ -static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType) { - int grammarID = 2605; - int done = 0; - - init_iso2EVSEStatusType(iso2EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 2605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &iso2EVSEStatusType->NotificationMaxDelay); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 2606; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - iso2EVSEStatusType->EVSENotification = (iso2EVSENotificationType) uint32; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 3; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 3: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 4; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_iso2EXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ - errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiDoc->AC_BidirectionalControlReq); - exiDoc->AC_BidirectionalControlReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ - errn = decode_iso2AC_BidirectionalControlResType(stream, &exiDoc->AC_BidirectionalControlRes); - exiDoc->AC_BidirectionalControlRes_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiDoc->AC_EVBidirectionalParameter); - exiDoc->AC_EVBidirectionalParameter_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso2AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); - exiDoc->AC_EVChargeParameter_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter); - exiDoc->AC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); - exiDoc->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ - errn = decode_iso2AlignmentCheckReqType(stream, &exiDoc->AlignmentCheckReq); - exiDoc->AlignmentCheckReq_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ - errn = decode_iso2AlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes); - exiDoc->AlignmentCheckRes_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = decode_iso2AuthorizationReqType(stream, &exiDoc->AuthorizationReq); - exiDoc->AuthorizationReq_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = decode_iso2AuthorizationResType(stream, &exiDoc->AuthorizationRes); - exiDoc->AuthorizationRes_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = decode_iso2BodyBaseType(stream, &exiDoc->BodyElement); - exiDoc->BodyElement_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = decode_iso2CableCheckReqType(stream, &exiDoc->CableCheckReq); - exiDoc->CableCheckReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = decode_iso2CableCheckResType(stream, &exiDoc->CableCheckRes); - exiDoc->CableCheckRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso2CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = decode_iso2CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); - exiDoc->CertificateInstallationReq_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = decode_iso2CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); - exiDoc->CertificateInstallationRes_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = decode_iso2CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); - exiDoc->CertificateUpdateReq_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = decode_iso2CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); - exiDoc->CertificateUpdateRes_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); - exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); - exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = decode_iso2ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); - exiDoc->ChargingStatusReq_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = decode_iso2ChargingStatusResType(stream, &exiDoc->ChargingStatusRes); - exiDoc->ChargingStatusRes_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ - errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiDoc->ConnectChargingDeviceReq); - exiDoc->ConnectChargingDeviceReq_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ - errn = decode_iso2ConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes); - exiDoc->ConnectChargingDeviceRes_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = decode_iso2CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); - exiDoc->CurrentDemandReq_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = decode_iso2CurrentDemandResType(stream, &exiDoc->CurrentDemandRes); - exiDoc->CurrentDemandRes_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ - errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiDoc->DC_BidirectionalControlReq); - exiDoc->DC_BidirectionalControlReq_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ - errn = decode_iso2DC_BidirectionalControlResType(stream, &exiDoc->DC_BidirectionalControlRes); - exiDoc->DC_BidirectionalControlRes_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter); - exiDoc->DC_EVBidirectionalParameter_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso2DC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); - exiDoc->DC_EVChargeParameter_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter); - exiDoc->DC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); - exiDoc->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso2DSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso2DigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= iso2EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq); - exiDoc->DisconnectChargingDeviceReq_isUsed = 1u; - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ - errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes); - exiDoc->DisconnectChargingDeviceRes_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = decode_iso2EVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter); - exiDoc->EVEnergyTransferParameter_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = decode_iso2EVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters); - exiDoc->EVFinePositioningParameters_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters); - exiDoc->EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter); - exiDoc->EVSEEnergyTransferParameter_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters); - exiDoc->EVSEFinePositioningParameters_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters); - exiDoc->EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = decode_iso2FinePositioningReqType(stream, &exiDoc->FinePositioningReq); - exiDoc->FinePositioningReq_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = decode_iso2FinePositioningResType(stream, &exiDoc->FinePositioningRes); - exiDoc->FinePositioningRes_isUsed = 1u; - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = decode_iso2FinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq); - exiDoc->FinePositioningSetupReq_isUsed = 1u; - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = decode_iso2FinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes); - exiDoc->FinePositioningSetupRes_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiDoc->Generic_EVFinePositioningParameters); - exiDoc->Generic_EVFinePositioningParameters_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiDoc->Generic_EVSEFinePositioningParameters); - exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso2KeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, iso2EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 51: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso2KeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiDoc->LFA_EVFinePositioningParameters); - exiDoc->LFA_EVFinePositioningParameters_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters); - exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiDoc->LFA_EVSEFinePositioningParameters); - exiDoc->LFA_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters); - exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiDoc->MV_EVSEFinePositioningParameters); - exiDoc->MV_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiDoc->MV_EVSEFinePositioningSetupParameters); - exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso2ManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = decode_iso2MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); - exiDoc->MeteringReceiptReq_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = decode_iso2MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); - exiDoc->MeteringReceiptRes_isUsed = 1u; - break; - case 61: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, iso2EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 62: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso2ObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 63: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso2PGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); - exiDoc->PMaxScheduleEntry_isUsed = 1u; - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = decode_iso2PairingReqType(stream, &exiDoc->PairingReq); - exiDoc->PairingReq_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = decode_iso2PairingResType(stream, &exiDoc->PairingRes); - exiDoc->PairingRes_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = decode_iso2PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); - exiDoc->PaymentDetailsReq_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = decode_iso2PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); - exiDoc->PaymentDetailsRes_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); - exiDoc->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso2PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); - exiDoc->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = decode_iso2PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); - exiDoc->PowerDeliveryReq_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = decode_iso2PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); - exiDoc->PowerDeliveryRes_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = decode_iso2PowerDemandReqType(stream, &exiDoc->PowerDemandReq); - exiDoc->PowerDemandReq_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = decode_iso2PowerDemandResType(stream, &exiDoc->PowerDemandRes); - exiDoc->PowerDemandRes_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = decode_iso2PreChargeReqType(stream, &exiDoc->PreChargeReq); - exiDoc->PreChargeReq_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = decode_iso2PreChargeResType(stream, &exiDoc->PreChargeRes); - exiDoc->PreChargeRes_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso2RSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso2ReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso2RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); - exiDoc->RelativeTimeInterval_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso2RetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiDoc->SAScheduleList); - exiDoc->SAScheduleList_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso2SPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso2SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); - exiDoc->SalesTariffEntry_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = decode_iso2ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); - exiDoc->ServiceDetailReq_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = decode_iso2ServiceDetailResType(stream, &exiDoc->ServiceDetailRes); - exiDoc->ServiceDetailRes_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso2ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); - exiDoc->ServiceDiscoveryReq_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso2ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); - exiDoc->ServiceDiscoveryRes_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = decode_iso2SessionSetupReqType(stream, &exiDoc->SessionSetupReq); - exiDoc->SessionSetupReq_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = decode_iso2SessionSetupResType(stream, &exiDoc->SessionSetupRes); - exiDoc->SessionSetupRes_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = decode_iso2SessionStopReqType(stream, &exiDoc->SessionStopReq); - exiDoc->SessionStopReq_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = decode_iso2SessionStopResType(stream, &exiDoc->SessionStopRes); - exiDoc->SessionStopRes_isUsed = 1u; - break; - case 92: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso2SignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso2SignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso2SignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 95: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso2SignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso2SignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso2SignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = decode_iso2SystemStatusReqType(stream, &exiDoc->SystemStatusReq); - exiDoc->SystemStatusReq_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = decode_iso2SystemStatusResType(stream, &exiDoc->SystemStatusRes); - exiDoc->SystemStatusRes_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso2TransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 101: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso2TransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = decode_iso2BodyBaseType(stream, &exiDoc->V2GRequest); - exiDoc->V2GRequest_isUsed = 1u; - break; - case 103: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = decode_iso2V2GResponseType(stream, &exiDoc->V2GResponse); - exiDoc->V2GResponse_isUsed = 1u; - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = decode_iso2AnonType_V2G_Message(stream, &exiDoc->V2G_Message); - exiDoc->V2G_Message_isUsed = 1u; - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = decode_iso2VehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq); - exiDoc->VehicleCheckInReq_isUsed = 1u; - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = decode_iso2VehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes); - exiDoc->VehicleCheckInRes_isUsed = 1u; - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = decode_iso2VehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq); - exiDoc->VehicleCheckOutReq_isUsed = 1u; - break; - case 108: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = decode_iso2VehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes); - exiDoc->VehicleCheckOutRes_isUsed = 1u; - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = decode_iso2WPT_EVChargeParameterType(stream, &exiDoc->WPT_EVChargeParameter); - exiDoc->WPT_EVChargeParameter_isUsed = 1u; - break; - case 110: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter); - exiDoc->WPT_EVSEChargeParameter_isUsed = 1u; - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = decode_iso2WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); - exiDoc->WeldingDetectionReq_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = decode_iso2WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); - exiDoc->WeldingDetectionRes_isUsed = 1u; - break; - case 113: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso2X509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - init_iso2EXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ - errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiFrag->AC_BidirectionalControlReq); - exiFrag->AC_BidirectionalControlReq_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ - errn = decode_iso2AC_BidirectionalControlResType(stream, &exiFrag->AC_BidirectionalControlRes); - exiFrag->AC_BidirectionalControlRes_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ - errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiFrag->AC_EVBidirectionalParameter); - exiFrag->AC_EVBidirectionalParameter_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ - errn = decode_iso2AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); - exiFrag->AC_EVChargeParameter_isUsed = 1u; - break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ - errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter); - exiFrag->AC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); - exiFrag->AC_EVSEChargeParameter_isUsed = 1u; - break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->AlignmentCheckParameters); - exiFrag->AlignmentCheckParameters_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ - errn = decode_iso2AlignmentCheckReqType(stream, &exiFrag->AlignmentCheckReq); - exiFrag->AlignmentCheckReq_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ - errn = decode_iso2AlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes); - exiFrag->AlignmentCheckRes_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->AlignmentOffset); - exiFrag->AlignmentOffset_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->AngleGAtoVA); - exiFrag->AngleGAtoVA_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = decode_iso2AuthorizationReqType(stream, &exiFrag->AuthorizationReq); - exiFrag->AuthorizationReq_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = decode_iso2AuthorizationResType(stream, &exiFrag->AuthorizationRes); - exiFrag->AuthorizationRes_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ - errn = decode_iso2BodyType(stream, &exiFrag->Body); - exiFrag->Body_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = decode_iso2BodyBaseType(stream, &exiFrag->BodyElement); - exiFrag->BodyElement_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); - exiFrag->BulkChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff) */ - errn = decode_iso2SalesTariffType(stream, &exiFrag->BuyBackTariff); - exiFrag->BuyBackTariff_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = decode_iso2CableCheckReqType(stream, &exiFrag->CableCheckReq); - exiFrag->CableCheckReq_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = decode_iso2CableCheckResType(stream, &exiFrag->CableCheckRes); - exiFrag->CableCheckRes_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_iso2CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->Certificate.bytesLen) <= iso2EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); - } - exiFrag->Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = decode_iso2CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); - exiFrag->CertificateInstallationReq_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = decode_iso2CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); - exiFrag->CertificateInstallationRes_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = decode_iso2CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); - exiFrag->CertificateUpdateReq_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = decode_iso2CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); - exiFrag->CertificateUpdateRes_isUsed = 1u; - break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); - exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); - exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ChargeProgress = (iso2chargeProgressType) uint32; - exiFrag->ChargeProgress_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ChargingComplete); - exiFrag->ChargingComplete_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->ChargingPerformance); - exiFrag->ChargingPerformance_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ - errn = decode_iso2ChargingProfileType(stream, &exiFrag->ChargingProfile); - exiFrag->ChargingProfile_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->ChargingSession = (iso2chargingSessionType) uint32; - exiFrag->ChargingSession_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = decode_iso2ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); - exiFrag->ChargingStatusReq_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = decode_iso2ChargingStatusResType(stream, &exiFrag->ChargingStatusRes); - exiFrag->ChargingStatusRes_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->CheckOutTime); - exiFrag->CheckOutTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ - errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiFrag->ConnectChargingDeviceReq); - exiFrag->ConnectChargingDeviceReq_isUsed = 1u; - break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ - errn = decode_iso2ConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes); - exiFrag->ConnectChargingDeviceRes_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ - errn = decode_iso2ConsumptionCostType(stream, &exiFrag->ConsumptionCost); - exiFrag->ConsumptionCost_isUsed = 1u; - break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ - errn = decode_iso2CertificateChainType(stream, &exiFrag->ContractSignatureCertChain); - exiFrag->ContractSignatureCertChain_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey); - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; - break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ - errn = decode_iso2CostType(stream, &exiFrag->Cost); - exiFrag->Cost_isUsed = 1u; - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = decode_iso2CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); - exiFrag->CurrentDemandReq_isUsed = 1u; - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = decode_iso2CurrentDemandResType(stream, &exiFrag->CurrentDemandRes); - exiFrag->CurrentDemandRes_isUsed = 1u; - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->CurrentRange); - exiFrag->CurrentRange_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->CurrentSOC = (int8_t)(uint32 + 0); - exiFrag->CurrentSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ - errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiFrag->DC_BidirectionalControlReq); - exiFrag->DC_BidirectionalControlReq_isUsed = 1u; - break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ - errn = decode_iso2DC_BidirectionalControlResType(stream, &exiFrag->DC_BidirectionalControlRes); - exiFrag->DC_BidirectionalControlRes_isUsed = 1u; - break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ - errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter); - exiFrag->DC_EVBidirectionalParameter_isUsed = 1u; - break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = decode_iso2DC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); - exiFrag->DC_EVChargeParameter_isUsed = 1u; - break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ - errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter); - exiFrag->DC_EVSEBidirectionalParameter_isUsed = 1u; - break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); - exiFrag->DC_EVSEChargeParameter_isUsed = 1u; - break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ - errn = decode_iso2DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey); - exiFrag->DHpublickey_isUsed = 1u; - break; - case 53: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_iso2DSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); - exiFrag->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 55: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_iso2DigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= iso2EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 57: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ - errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiFrag->DisconnectChargingDeviceReq); - exiFrag->DisconnectChargingDeviceReq_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ - errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiFrag->DisconnectChargingDeviceRes); - exiFrag->DisconnectChargingDeviceRes_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters) */ - errn = decode_iso2DisplayParametersType(stream, &exiFrag->DisplayParameters); - exiFrag->DisplayParameters_isUsed = 1u; - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Distance); - exiFrag->Distance_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); - exiFrag->EPriceLevel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); - if (errn == 0) { - errn = (exiFrag->EVCCID.bytesLen) <= iso2EXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); - } - exiFrag->EVCCID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; - exiFrag->EVCheckInStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; - exiFrag->EVCheckOutStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - exiFrag->EVElectricalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = decode_iso2EVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter); - exiFrag->EVEnergyTransferParameter_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = decode_iso2EVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters); - exiFrag->EVFinePositioningParameters_isUsed = 1u; - break; - case 68: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters); - exiFrag->EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 69: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVInputPower); - exiFrag->EVInputPower_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); - exiFrag->EVMaximumChargeCurrent_isUsed = 1u; - break; - case 71: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); - exiFrag->EVMaximumChargeCurrent_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); - exiFrag->EVMaximumChargePower_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); - exiFrag->EVMaximumChargePower_isUsed = 1u; - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumCurrent); - exiFrag->EVMaximumCurrent_isUsed = 1u; - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); - exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); - exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); - exiFrag->EVMaximumDischargePower_isUsed = 1u; - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); - exiFrag->EVMaximumDischargePower_isUsed = 1u; - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); - exiFrag->EVMaximumEnergyRequest_isUsed = 1u; - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); - exiFrag->EVMaximumEnergyRequest_isUsed = 1u; - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); - exiFrag->EVMaximumPower_isUsed = 1u; - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); - exiFrag->EVMaximumPower_isUsed = 1u; - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); - exiFrag->EVMaximumVoltage_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); - exiFrag->EVMaximumVoltage_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); - exiFrag->EVMinimumChargeCurrent_isUsed = 1u; - break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); - exiFrag->EVMinimumChargeCurrent_isUsed = 1u; - break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargePower); - exiFrag->EVMinimumChargePower_isUsed = 1u; - break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); - exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; - break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); - exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; - break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargePower); - exiFrag->EVMinimumDischargePower_isUsed = 1u; - break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); - exiFrag->EVMinimumEnergyRequest_isUsed = 1u; - break; - case 93: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); - exiFrag->EVMinimumEnergyRequest_isUsed = 1u; - break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumPower); - exiFrag->EVMinimumPower_isUsed = 1u; - break; - case 95: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); - exiFrag->EVMinimumVoltage_isUsed = 1u; - break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); - exiFrag->EVMinimumVoltage_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVOperation = (iso2EVOperationType) uint32; - exiFrag->EVOperation_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentActivePower); - exiFrag->EVPresentActivePower_isUsed = 1u; - break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentReactivePower); - exiFrag->EVPresentReactivePower_isUsed = 1u; - break; - case 100: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVProcessing = (iso2EVSEProcessingType) uint32; - exiFrag->EVProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 101: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; - exiFrag->EVSECheckOutStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSECurrentLimitAchieved); - exiFrag->EVSECurrentLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 103: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; - exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 106: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter); - exiFrag->EVSEEnergyTransferParameter_isUsed = 1u; - break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters); - exiFrag->EVSEFinePositioningParameters_isUsed = 1u; - break; - case 108: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters); - exiFrag->EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen); - if (errn == 0) { - if (exiFrag->EVSEID.charactersLen >= 2) { - exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, iso2EXIFragment_EVSEID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->EVSEID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 110: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); - exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; - break; - case 111: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); - exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; - break; - case 112: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); - exiFrag->EVSEMaximumChargePower_isUsed = 1u; - break; - case 113: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); - exiFrag->EVSEMaximumChargePower_isUsed = 1u; - break; - case 114: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent); - exiFrag->EVSEMaximumCurrent_isUsed = 1u; - break; - case 115: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); - exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; - break; - case 116: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); - exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; - break; - case 117: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); - exiFrag->EVSEMaximumDischargePower_isUsed = 1u; - break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); - exiFrag->EVSEMaximumDischargePower_isUsed = 1u; - break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); - exiFrag->EVSEMaximumPower_isUsed = 1u; - break; - case 120: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); - exiFrag->EVSEMaximumPower_isUsed = 1u; - break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); - exiFrag->EVSEMaximumVoltage_isUsed = 1u; - break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); - exiFrag->EVSEMaximumVoltage_isUsed = 1u; - break; - case 123: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; - exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 124: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent); - exiFrag->EVSEMinimumChargeCurrent_isUsed = 1u; - break; - case 125: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent); - exiFrag->EVSEMinimumDischargeCurrent_isUsed = 1u; - break; - case 126: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumPower); - exiFrag->EVSEMinimumPower_isUsed = 1u; - break; - case 127: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); - exiFrag->EVSEMinimumVoltage_isUsed = 1u; - break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); - exiFrag->EVSEMinimumVoltage_isUsed = 1u; - break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalFrequency); - exiFrag->EVSENominalFrequency_isUsed = 1u; - break; - case 130: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalVoltage); - exiFrag->EVSENominalVoltage_isUsed = 1u; - break; - case 131: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->EVSENotification = (iso2EVSENotificationType) uint32; - exiFrag->EVSENotification_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 132: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEOutputPower); - exiFrag->EVSEOutputPower_isUsed = 1u; - break; - case 133: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); - exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; - break; - case 134: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEPowerLimitAchieved); - exiFrag->EVSEPowerLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 135: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; - break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); - exiFrag->EVSEPresentVoltage_isUsed = 1u; - break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->EVSEProcessing = (iso2EVSEProcessingType) uint32; - exiFrag->EVSEProcessing_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ - errn = decode_iso2EVSEStatusType(stream, &exiFrag->EVSEStatus); - exiFrag->EVSEStatus_isUsed = 1u; - break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetPower); - exiFrag->EVSETargetPower_isUsed = 1u; - break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetReactivePower); - exiFrag->EVSETargetReactivePower_isUsed = 1u; - break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp); - exiFrag->EVSETimeStamp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVSEVoltageLimitAchieved); - exiFrag->EVSEVoltageLimitAchieved_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetCurrent); - exiFrag->EVTargetCurrent_isUsed = 1u; - break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); - exiFrag->EVTargetEnergyRequest_isUsed = 1u; - break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); - exiFrag->EVTargetEnergyRequest_isUsed = 1u; - break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetPower); - exiFrag->EVTargetPower_isUsed = 1u; - break; - case 147: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetVoltage); - exiFrag->EVTargetVoltage_isUsed = 1u; - break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->EffectiveRadiatedPower = (int8_t)(uint32 -128); - exiFrag->EffectiveRadiatedPower_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ - errn = decode_iso2ServiceListType(stream, &exiFrag->EnergyTransferServiceList); - exiFrag->EnergyTransferServiceList_isUsed = 1u; - break; - case 150: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ - break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ - break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->FODStatus = (iso2FODStatusType) uint32; - exiFrag->FODStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 153: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = decode_iso2FinePositioningReqType(stream, &exiFrag->FinePositioningReq); - exiFrag->FinePositioningReq_isUsed = 1u; - break; - case 154: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = decode_iso2FinePositioningResType(stream, &exiFrag->FinePositioningRes); - exiFrag->FinePositioningRes_isUsed = 1u; - break; - case 155: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = decode_iso2FinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq); - exiFrag->FinePositioningSetupReq_isUsed = 1u; - break; - case 156: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = decode_iso2FinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes); - exiFrag->FinePositioningSetupRes_isUsed = 1u; - break; - case 157: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->FreeService); - exiFrag->FreeService_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->FrequencyChannel); - exiFrag->FrequencyChannel_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 159: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= iso2EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GAID.charactersLen); - if (errn == 0) { - if (exiFrag->GAID.charactersLen >= 2) { - exiFrag->GAID.charactersLen = (uint16_t)(exiFrag->GAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->GAID.charactersLen, exiFrag->GAID.characters, iso2EXIFragment_GAID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->GAID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen); - if (errn == 0) { - errn = (exiFrag->GenChallenge.bytesLen) <= iso2EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes); - } - exiFrag->GenChallenge_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 162: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->GenericParameters); - exiFrag->GenericParameters_isUsed = 1u; - break; - case 163: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiFrag->Generic_EVFinePositioningParameters); - exiFrag->Generic_EVFinePositioningParameters_isUsed = 1u; - break; - case 164: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ - errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters); - exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 165: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ - errn = decode_iso2MessageHeaderType(stream, &exiFrag->Header); - exiFrag->Header_isUsed = 1u; - break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->InletHot); - exiFrag->InletHot_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 168: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= iso2EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 169: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_iso2KeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 170: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, iso2EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 171: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_iso2KeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 172: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiFrag->LFA_EVFinePositioningParameters); - exiFrag->LFA_EVFinePositioningParameters_isUsed = 1u; - break; - case 173: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters); - exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 1u; - break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiFrag->LFA_EVSEFinePositioningParameters); - exiFrag->LFA_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters); - exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ - errn = decode_iso2ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); - exiFrag->ListOfRootCertificateIDs_isUsed = 1u; - break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiFrag->MV_EVSEFinePositioningParameters); - exiFrag->MV_EVSEFinePositioningParameters_isUsed = 1u; - break; - case 178: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ - errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters); - exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; - break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ - errn = decode_iso2MagneticVectorType(stream, &exiFrag->MagneticVector); - exiFrag->MagneticVector_isUsed = 1u; - break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ - errn = decode_iso2MagneticVectorListType(stream, &exiFrag->MagneticVectorList); - exiFrag->MagneticVectorList_isUsed = 1u; - break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ - errn = decode_iso2MagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup); - exiFrag->MagneticVectorSetup_isUsed = 1u; - break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ - errn = decode_iso2MagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList); - exiFrag->MagneticVectorSetupList_isUsed = 1u; - break; - case 183: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_iso2ManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); - exiFrag->MaxSupportingPoints = (uint16_t)(uint32 + 12); - exiFrag->MaxSupportingPoints_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeasurementData); - exiFrag->MeasurementData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList) */ - errn = decode_iso2MeasurementDataListType(stream, &exiFrag->MeasurementDataList); - exiFrag->MeasurementDataList_isUsed = 1u; - break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); - if (errn == 0) { - if (exiFrag->MeterID.charactersLen >= 2) { - exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, iso2EXIFragment_MeterID_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MeterID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ - errn = decode_iso2MeterInfoType(stream, &exiFrag->MeterInfo); - exiFrag->MeterInfo_isUsed = 1u; - break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingCharged); - exiFrag->MeterReadingCharged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingDischarged); - exiFrag->MeterReadingDischarged_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->MeterStatus); - exiFrag->MeterStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 192: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = decode_iso2MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); - exiFrag->MeteringReceiptReq_isUsed = 1u; - break; - case 193: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = decode_iso2MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); - exiFrag->MeteringReceiptRes_isUsed = 1u; - break; - case 194: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, iso2EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ - errn = decode_iso2MinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest); - exiFrag->MinimumPMaxRequest_isUsed = 1u; - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry); - exiFrag->MinimumPMaxScheduleEntry_isUsed = 1u; - break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->MinimumSOC = (int8_t)(uint32 + 0); - exiFrag->MinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 198: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= iso2EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->NotificationMaxDelay); - exiFrag->NotificationMaxDelay_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); - exiFrag->NumEPriceLevels_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumberOfSensors = (uint8_t)(uint32 + 0); - exiFrag->NumberOfSensors_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->NumberOfSignalPackages = (uint8_t)(uint32 + 0); - exiFrag->NumberOfSignalPackages_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 203: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (exiFrag->OEMProvisioningCert.bytesLen) <= iso2EXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); - } - exiFrag->OEMProvisioningCert_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 204: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_iso2ObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 205: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->OperationMode = (iso2operationModeType) uint32; - exiFrag->OperationMode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 206: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= iso2EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 207: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_iso2PGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 208: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= iso2EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 209: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyPacket.bytesLen) <= iso2EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); - } - exiFrag->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 210: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->PMax); - exiFrag->PMax_isUsed = 1u; - break; - case 211: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ - errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule); - exiFrag->PMaxDischargeSchedule_isUsed = 1u; - break; - case 212: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ - errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxSchedule); - exiFrag->PMaxSchedule_isUsed = 1u; - break; - case 213: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); - exiFrag->PMaxScheduleEntry_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->PackageIndex); - exiFrag->PackageIndex_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->PackageSeparationTime = (uint8_t)(uint32 + 0); - exiFrag->PackageSeparationTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 216: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->PairingParameters); - exiFrag->PairingParameters_isUsed = 1u; - break; - case 217: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = decode_iso2PairingReqType(stream, &exiFrag->PairingReq); - exiFrag->PairingReq_isUsed = 1u; - break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = decode_iso2PairingResType(stream, &exiFrag->PairingRes); - exiFrag->PairingRes_isUsed = 1u; - break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ - errn = decode_iso2ParameterType(stream, &exiFrag->Parameter); - exiFrag->Parameter_isUsed = 1u; - break; - case 220: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->ParameterSet); - exiFrag->ParameterSet_isUsed = 1u; - break; - case 221: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ParameterSetID); - exiFrag->ParameterSetID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 222: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->ParkingMethod = (iso2parkingMethodType) uint32; - exiFrag->ParkingMethod_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 223: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = decode_iso2PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); - exiFrag->PaymentDetailsReq_isUsed = 1u; - break; - case 224: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = decode_iso2PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); - exiFrag->PaymentDetailsRes_isUsed = 1u; - break; - case 225: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->PaymentOption = (iso2paymentOptionType) uint32; - exiFrag->PaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 226: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ - errn = decode_iso2PaymentOptionListType(stream, &exiFrag->PaymentOptionList); - exiFrag->PaymentOptionList_isUsed = 1u; - break; - case 227: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); - exiFrag->PaymentServiceSelectionReq_isUsed = 1u; - break; - case 228: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_iso2PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); - exiFrag->PaymentServiceSelectionRes_isUsed = 1u; - break; - case 229: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= iso2EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 230: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = decode_iso2PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); - exiFrag->PowerDeliveryReq_isUsed = 1u; - break; - case 231: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = decode_iso2PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); - exiFrag->PowerDeliveryRes_isUsed = 1u; - break; - case 232: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ - errn = decode_iso2ParameterSetType(stream, &exiFrag->PowerDemandParameters); - exiFrag->PowerDemandParameters_isUsed = 1u; - break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = decode_iso2PowerDemandReqType(stream, &exiFrag->PowerDemandReq); - exiFrag->PowerDemandReq_isUsed = 1u; - break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = decode_iso2PowerDemandResType(stream, &exiFrag->PowerDemandRes); - exiFrag->PowerDemandRes_isUsed = 1u; - break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = decode_iso2PreChargeReqType(stream, &exiFrag->PreChargeReq); - exiFrag->PreChargeReq_isUsed = 1u; - break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = decode_iso2PreChargeResType(stream, &exiFrag->PreChargeRes); - exiFrag->PreChargeRes_isUsed = 1u; - break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ - errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->ProfileEntry); - exiFrag->ProfileEntry_isUsed = 1u; - break; - case 238: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= iso2EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 239: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_iso2RSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); - exiFrag->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 241: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_iso2ReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_iso2RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; - break; - case 243: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToBulkSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 244: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToMinimumSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 245: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); - exiFrag->RemainingTimeToTargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 246: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - exiFrag->ResponseCode = (iso2responseCodeType) uint32; - exiFrag->ResponseCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 247: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_iso2RetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 248: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->RetryCounter); - exiFrag->RetryCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 249: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ - errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->RootCertificateID); - exiFrag->RootCertificateID_isUsed = 1u; - break; - case 250: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->RotationVAtoGA); - exiFrag->RotationVAtoGA_isUsed = 1u; - break; - case 251: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ - errn = decode_iso2CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain); - exiFrag->SAProvisioningCertificateChain_isUsed = 1u; - break; - case 252: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 253: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; - break; - case 254: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ - errn = decode_iso2SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); - exiFrag->SAScheduleTuple_isUsed = 1u; - break; - case 255: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 256: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); - exiFrag->SAScheduleTupleID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 257: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_iso2SPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 258: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= iso2EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 259: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ - errn = decode_iso2SalesTariffType(stream, &exiFrag->SalesTariff); - exiFrag->SalesTariff_isUsed = 1u; - break; - case 260: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); - if (errn == 0) { - if (exiFrag->SalesTariffDescription.charactersLen >= 2) { - exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, iso2EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->SalesTariffDescription_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 261: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = decode_iso2SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); - exiFrag->SalesTariffEntry_isUsed = 1u; - break; - case 262: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SalesTariffID = (uint8_t)(uint32 + 1); - exiFrag->SalesTariffID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 263: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= iso2EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 264: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ - errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService); - exiFrag->SelectedEnergyTransferService_isUsed = 1u; - break; - case 265: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - exiFrag->SelectedPaymentOption = (iso2paymentOptionType) uint32; - exiFrag->SelectedPaymentOption_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 266: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ - errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedService); - exiFrag->SelectedService_isUsed = 1u; - break; - case 267: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ - errn = decode_iso2SelectedServiceListType(stream, &exiFrag->SelectedVASList); - exiFrag->SelectedVASList_isUsed = 1u; - break; - case 268: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ - errn = decode_iso2SensorType(stream, &exiFrag->Sensor); - exiFrag->Sensor_isUsed = 1u; - break; - case 269: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SensorID = (uint8_t)(uint32 + 0); - exiFrag->SensorID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 270: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ - errn = decode_iso2SensorListType(stream, &exiFrag->SensorList); - exiFrag->SensorList_isUsed = 1u; - break; - case 271: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ - errn = decode_iso2SensorMeasurementsType(stream, &exiFrag->SensorMeasurements); - exiFrag->SensorMeasurements_isUsed = 1u; - break; - case 272: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ - errn = decode_iso2SensorOrderListType(stream, &exiFrag->SensorOrder); - exiFrag->SensorOrder_isUsed = 1u; - break; - case 273: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ - errn = decode_iso2CartesianCoordinatesType(stream, &exiFrag->SensorOrientation); - exiFrag->SensorOrientation_isUsed = 1u; - break; - case 274: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ - errn = decode_iso2SensorPackageType(stream, &exiFrag->SensorPackage); - exiFrag->SensorPackage_isUsed = 1u; - break; - case 275: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ - errn = decode_iso2SensorPackageListType(stream, &exiFrag->SensorPackageList); - exiFrag->SensorPackageList_isUsed = 1u; - break; - case 276: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPosition */ - break; - case 277: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ - errn = decode_iso2ServiceType(stream, &exiFrag->Service); - exiFrag->Service_isUsed = 1u; - break; - case 278: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = decode_iso2ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); - exiFrag->ServiceDetailReq_isUsed = 1u; - break; - case 279: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = decode_iso2ServiceDetailResType(stream, &exiFrag->ServiceDetailRes); - exiFrag->ServiceDetailRes_isUsed = 1u; - break; - case 280: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = decode_iso2ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); - exiFrag->ServiceDiscoveryReq_isUsed = 1u; - break; - case 281: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = decode_iso2ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); - exiFrag->ServiceDiscoveryRes_isUsed = 1u; - break; - case 282: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 283: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); - exiFrag->ServiceID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 284: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ - errn = decode_iso2ServiceParameterListType(stream, &exiFrag->ServiceParameterList); - exiFrag->ServiceParameterList_isUsed = 1u; - break; - case 285: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso2EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 286: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); - if (errn == 0) { - errn = (exiFrag->SessionID.bytesLen) <= iso2EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); - } - exiFrag->SessionID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 287: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = decode_iso2SessionSetupReqType(stream, &exiFrag->SessionSetupReq); - exiFrag->SessionSetupReq_isUsed = 1u; - break; - case 288: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = decode_iso2SessionSetupResType(stream, &exiFrag->SessionSetupRes); - exiFrag->SessionSetupRes_isUsed = 1u; - break; - case 289: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = decode_iso2SessionStopReqType(stream, &exiFrag->SessionStopReq); - exiFrag->SessionStopReq_isUsed = 1u; - break; - case 290: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = decode_iso2SessionStopResType(stream, &exiFrag->SessionStopRes); - exiFrag->SessionStopRes_isUsed = 1u; - break; - case 291: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (exiFrag->SigMeterReading.bytesLen) <= iso2EXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); - } - exiFrag->SigMeterReading_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 292: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SignalFrequency); - exiFrag->SignalFrequency_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 293: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SignalPulseDuration = (uint8_t)(uint32 + 0); - exiFrag->SignalPulseDuration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 294: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->SignalSeparationTime = (uint8_t)(uint32 + 0); - exiFrag->SignalSeparationTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 295: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_iso2SignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 296: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_iso2SignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 297: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_iso2SignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 298: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_iso2SignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 299: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_iso2SignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 300: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_iso2SignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 301: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ - errn = decode_iso2SubCertificatesType(stream, &exiFrag->SubCertificates); - exiFrag->SubCertificates_isUsed = 1u; - break; - case 302: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ - errn = decode_iso2ServiceIDListType(stream, &exiFrag->SupportedServiceIDs); - exiFrag->SupportedServiceIDs_isUsed = 1u; - break; - case 303: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = decode_iso2SystemStatusReqType(stream, &exiFrag->SystemStatusReq); - exiFrag->SystemStatusReq_isUsed = 1u; - break; - case 304: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = decode_iso2SystemStatusResType(stream, &exiFrag->SystemStatusRes); - exiFrag->SystemStatusRes_isUsed = 1u; - break; - case 305: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->TMeter); - exiFrag->TMeter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 306: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ - errn = decode_iso2TargetPositionType(stream, &exiFrag->TargetOffset); - exiFrag->TargetOffset_isUsed = 1u; - break; - case 307: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetX); - exiFrag->TargetOffsetX_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 308: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetY); - exiFrag->TargetOffsetY_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 309: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->TargetSOC = (int8_t)(uint32 + 0); - exiFrag->TargetSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 310: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_iso2TransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 311: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_iso2TransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 312: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = decode_iso2BodyBaseType(stream, &exiFrag->V2GRequest); - exiFrag->V2GRequest_isUsed = 1u; - break; - case 313: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = decode_iso2V2GResponseType(stream, &exiFrag->V2GResponse); - exiFrag->V2GResponse_isUsed = 1u; - break; - case 314: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = decode_iso2AnonType_V2G_Message(stream, &exiFrag->V2G_Message); - exiFrag->V2G_Message_isUsed = 1u; - break; - case 315: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList) */ - errn = decode_iso2ServiceListType(stream, &exiFrag->VASList); - exiFrag->VASList_isUsed = 1u; - break; - case 316: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->Value); - exiFrag->Value_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 317: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = decode_iso2VehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq); - exiFrag->VehicleCheckInReq_isUsed = 1u; - break; - case 318: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = decode_iso2VehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes); - exiFrag->VehicleCheckInRes_isUsed = 1u; - break; - case 319: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = decode_iso2VehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq); - exiFrag->VehicleCheckOutReq_isUsed = 1u; - break; - case 320: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = decode_iso2VehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes); - exiFrag->VehicleCheckOutRes_isUsed = 1u; - break; - case 321: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->VehicleSpace); - exiFrag->VehicleSpace_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 322: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = decode_iso2WPT_EVChargeParameterType(stream, &exiFrag->WPT_EVChargeParameter); - exiFrag->WPT_EVChargeParameter_isUsed = 1u; - break; - case 323: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ - errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter); - exiFrag->WPT_EVSEChargeParameter_isUsed = 1u; - break; - case 324: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = decode_iso2WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); - exiFrag->WeldingDetectionReq_isUsed = 1u; - break; - case 325: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = decode_iso2WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); - exiFrag->WeldingDetectionRes_isUsed = 1u; - break; - case 326: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= iso2EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 327: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= iso2EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 328: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_iso2X509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 329: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, iso2EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 330: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 331: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= iso2EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 332: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 333: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, iso2EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 334: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->XCoordinate); - exiFrag->XCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 335: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, iso2EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 336: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= iso2EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 337: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->YCoordinate); - exiFrag->YCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 338: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->ZCoordinate); - exiFrag->ZCoordinate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 339: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->amount); - exiFrag->amount_isUsed = 1u; - break; - case 340: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->boolValue); - exiFrag->boolValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 341: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - exiFrag->byteValue = (int8_t)(uint32 -128); - exiFrag->byteValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 342: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - exiFrag->costKind = (iso2costKindType) uint32; - exiFrag->costKind_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 343: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->duration); - exiFrag->duration_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 344: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ - errn = decode_iso2EMAIDType(stream, &exiFrag->eMAID); - exiFrag->eMAID_isUsed = 1u; - break; - case 345: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger32(stream, &exiFrag->intValue); - exiFrag->intValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 346: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->physicalValue); - exiFrag->physicalValue_isUsed = 1u; - break; - case 347: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &exiFrag->shortValue); - exiFrag->shortValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 348: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->start); - exiFrag->start_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 349: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ - errn = decode_iso2PhysicalValueType(stream, &exiFrag->startValue); - exiFrag->startValue_isUsed = 1u; - break; - case 350: - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); - if (errn == 0) { - if (exiFrag->stringValue.charactersLen >= 2) { - exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, iso2EXIFragment_stringValue_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->stringValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); - if (eventCode != 352) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/src/iso2/iso2EXIDatatypesDecoder.h b/src/iso2/iso2EXIDatatypesDecoder.h deleted file mode 100644 index c4d64e0..0000000 --- a/src/iso2/iso2EXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_iso2_DATATYPES_DECODER_H -#define EXI_iso2_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "iso2EXIDatatypes.h" - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc); - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/iso2/iso2EXIDatatypesEncoder.c b/src/iso2/iso2EXIDatatypesEncoder.c deleted file mode 100644 index d34b268..0000000 --- a/src/iso2/iso2EXIDatatypesEncoder.c +++ /dev/null @@ -1,62632 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - - -#include "iso2EXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "iso2EXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_iso2_DATATYPES_ENCODER_C -#define EXI_iso2_DATATYPES_ENCODER_C - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType); -static int encode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType); -static int encode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); -static int encode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType); -static int encode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType); -static int encode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); -static int encode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType); -static int encode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType); -static int encode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType); -static int encode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); -static int encode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); -static int encode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); -static int encode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType); -static int encode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType); -static int encode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); -static int encode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType); -static int encode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType); -static int encode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType); -static int encode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); -static int encode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); -static int encode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType); -static int encode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); -static int encode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); -static int encode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); -static int encode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType); -static int encode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); -static int encode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType); -static int encode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); -static int encode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); -static int encode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); -static int encode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); -static int encode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); -static int encode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType); -static int encode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType); -static int encode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); -static int encode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); -static int encode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType); -static int encode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); -static int encode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); -static int encode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); -static int encode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); -static int encode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); -static int encode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType); -static int encode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType); -static int encode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType); -static int encode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); -static int encode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType); -static int encode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType); -static int encode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); -static int encode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); -static int encode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType); -static int encode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType); -static int encode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType); -static int encode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType); -static int encode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType); -static int encode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType); -static int encode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType); -static int encode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType); -static int encode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType); -static int encode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); -static int encode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); -static int encode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); -static int encode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType); -static int encode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); -static int encode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType); -static int encode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); -static int encode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); -static int encode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType); -static int encode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); -static int encode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); -static int encode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType); -static int encode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType); -static int encode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); -static int encode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); -static int encode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); -static int encode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); -static int encode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); -static int encode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType); -static int encode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType); -static int encode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType); -static int encode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); -static int encode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType); -static int encode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType); -static int encode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType); -static int encode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType); -static int encode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); -static int encode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType); -static int encode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); -static int encode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); -static int encode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); -static int encode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); -static int encode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType); -static int encode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); -static int encode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); -static int encode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType); -static int encode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); -static int encode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); -static int encode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); -static int encode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); -static int encode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); -static int encode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); -static int encode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); -static int encode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType); -static int encode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); -static int encode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); -static int encode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType); -static int encode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType); -static int encode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType); -static int encode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType); -static int encode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); -static int encode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType); -static int encode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType); -static int encode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType); -static int encode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); -static int encode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); -static int encode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType); -static int encode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType); -static int encode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); -static int encode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); -static int encode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); -static int encode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType); -static int encode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType); -static int encode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); -static int encode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType); -static int encode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); -static int encode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); -static int encode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType); -static int encode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType); -static int encode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); -static int encode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); -static int encode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); -static int encode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); -static int encode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType); -static int encode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType); -static int encode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); -static int encode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); -static int encode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); -static int encode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType); -static int encode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType); -static int encode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); -static int encode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType); -static int encode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); -static int encode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); -static int encode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType); -static int encode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType); -static int encode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType); -static int encode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType); -static int encode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType); -static int encode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType); -static int encode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType); -static int encode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); -static int encode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType); -static int encode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType); -static int encode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); -static int encode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType); - - - /* 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_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->Type.characters, iso2RetrievalMethodType->Type.charactersLen); - } - } - grammarID = 1; - } else if ( iso2RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 2; - } else if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2RetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType->URI.charactersLen); - } - } - grammarID = 2; - } else if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( iso2RetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType) { - 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, iso2AuthorizationResType->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 ( iso2AuthorizationResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AuthorizationResType->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, iso2AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2AuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { - int grammarID = 8; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - if ( iso2MV_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, iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 9; - } else if ( iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ - if ( iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType) { - int grammarID = 10; - int done = 0; - int wcDone = 0; - - unsigned int iso2X509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int iso2X509DataType_X509SKI_currArrayIndex = 0; - unsigned int iso2X509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int iso2X509DataType_X509Certificate_currArrayIndex = 0; - unsigned int iso2X509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ - if (iso2X509DataType_X509IssuerSerial_currArrayIndex < iso2X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array [iso2X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 11; - } else if (iso2X509DataType_X509SKI_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytes, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen); - iso2X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509SubjectName_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].characters, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso2X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509Certificate_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytes, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso2X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509CRL_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytes, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen); - iso2X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso2X509DataType_X509IssuerSerial_currArrayIndex < iso2X509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array [iso2X509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 11; - } else if (iso2X509DataType_X509SKI_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytes, iso2X509DataType->X509SKI.array[iso2X509DataType_X509SKI_currArrayIndex].bytesLen); - iso2X509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509SubjectName_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].characters, iso2X509DataType->X509SubjectName.array[iso2X509DataType_X509SubjectName_currArrayIndex].charactersLen); - iso2X509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509Certificate_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytes, iso2X509DataType->X509Certificate.array[iso2X509DataType_X509Certificate_currArrayIndex].bytesLen); - iso2X509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (iso2X509DataType_X509CRL_currArrayIndex < iso2X509DataType->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)(iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytes, iso2X509DataType->X509CRL.array[iso2X509DataType_X509CRL_currArrayIndex].bytesLen); - iso2X509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 11; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 11; - } else if ( iso2X509DataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType) { - int grammarID = 12; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 12: - /* 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)(iso2RSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2RSAKeyValueType->Modulus.bytes, iso2RSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 13; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* 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)(iso2RSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2RSAKeyValueType->Exponent.bytes, iso2RSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { - int grammarID = 14; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 14: - /* 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, iso2DC_BidirectionalControlResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( iso2DC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2DC_BidirectionalControlResType->EVSEStatus ); - } - grammarID = 16; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent ); - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentVoltage ); - } - grammarID = 18; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* 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, iso2DC_BidirectionalControlResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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, iso2DC_BidirectionalControlResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 20; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 20: - /* 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, iso2DC_BidirectionalControlResType->EVSEVoltageLimitAchieved); - /* 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: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 ( iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargePower ); - } - grammarID = 22; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower ); - } - grammarID = 23; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower ); - } - grammarID = 23; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); - } - grammarID = 24; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); - } - grammarID = 25; - } else if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage ); - } - grammarID = 26; - } else if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage ); - } - grammarID = 27; - } 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_BidirectionalControlResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2DC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2DC_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, iso2DC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType) { - int grammarID = 31; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* 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, iso2CostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 32; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CostType->amount ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType) { - int grammarID = 33; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 33: - /* 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, iso2ChargingStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2ChargingStatusResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ChargingStatusResType->EVSEStatus ); - } - grammarID = 35; - } 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)(iso2ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* 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)(iso2ChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->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)(iso2ChargingStatusResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 37; - } else if ( iso2ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo ); - } - grammarID = 38; - } else if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo ); - } - grammarID = 38; - } else if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->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, iso2ChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ - if ( iso2ChargingStatusResType->EVSETargetPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType) { - int grammarID = 40; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ - 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)(iso2MeterInfoType->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MeterInfoType->MeterID.characters, iso2MeterInfoType->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 41; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingCharged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingDischarged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 43; - } else if ( iso2MeterInfoType->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)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->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, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->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, iso2MeterInfoType->MeterReadingDischarged); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 43; - } else if ( iso2MeterInfoType->SigMeterReading_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_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 = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->SigMeterReading_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)(iso2MeterInfoType->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytes, iso2MeterInfoType->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 44; - } else if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_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 = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->MeterStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, iso2MeterInfoType->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 45; - } else if ( iso2MeterInfoType->TMeter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( iso2MeterInfoType->TMeter_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, iso2MeterInfoType->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { - int grammarID = 46; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 46: - /* 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, iso2AC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargePower ); - } - grammarID = 48; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumChargeCurrent ); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 51; - } else if ( iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 52; - } else if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 52; - } else if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 53; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { - int grammarID = 54; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalVoltage ); - } - grammarID = 56; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency ); - } - grammarID = 57; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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, iso2VehicleCheckOutResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 60; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ - if ( iso2VehicleCheckOutResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2VehicleCheckOutResType->EVSEStatus ); - } - grammarID = 61; - } 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, iso2VehicleCheckOutResType->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* 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, iso2VehicleCheckOutResType->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType) { - int grammarID = 62; - int done = 0; - - unsigned int iso2MagneticVectorListType_MagneticVector_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 62: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 63; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 64; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 65; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 66; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 67; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 68; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 69; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 70; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 71; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 72; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 73; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 75; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 76; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 76: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 77; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 78; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 78: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 79; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 80; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 81; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 82; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 82: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 83; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 84; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 85; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 86; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 87; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 88; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 89; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 90; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 91; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 92; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 93; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 94; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 95; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 96; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 97; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 98; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 99; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 213; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 214; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 272; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 273; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 274; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 275; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 276; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 277; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 278; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 279; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 280; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 281; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 282; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 283; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 284; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 285; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 288; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 290; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 291; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 292; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 293; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 294; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 295; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 296; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 297; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 298; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 299; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 300; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 301; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ - if (iso2MagneticVectorListType_MagneticVector_currArrayIndex < iso2MagneticVectorListType->MagneticVector.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array [iso2MagneticVectorListType_MagneticVector_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType) { - 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, iso2CableCheckResType->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 ( iso2CableCheckResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CableCheckResType->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, iso2CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2CableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { - int grammarID = 317; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 317: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ - if ( iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceIDListType(stream, &iso2ServiceDiscoveryReqType->SupportedServiceIDs ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType) { - int grammarID = 318; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 318: - /* 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, iso2ServiceType->ServiceID); - /* 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}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, iso2ServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType) { - int grammarID = 320; - int done = 0; - - unsigned int iso2ServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 320: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 321; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 468; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 469; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 470; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 471; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 472; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 473; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 474; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 475; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 476; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 477; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 478; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 479; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 480; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 481; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 482; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 483; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 484; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 485; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 487; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 488; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 489; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 490; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 491; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 492; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 493; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 494; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 495; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 496; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 497; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 498; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 499; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 500; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 501; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 502; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 503; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 504; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 505; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 506; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 507; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 508; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 509; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 510; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 511; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 512; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 513; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 514; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 515; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 516; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 517; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 518; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 519; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 520; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 521; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 522; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 523; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 524; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 525; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 526; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 527; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 528; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 529; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 530; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 531; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 532; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 533; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 534; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 555; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 556; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 557; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 558; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 559; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 560; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 561; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 562; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 563; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 564; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 573; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 574; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (iso2ServiceParameterListType_ParameterSet_currArrayIndex < iso2ServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array [iso2ServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType) { - int grammarID = 575; - int done = 0; - - unsigned int iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 575: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ - if (iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array [iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex < iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array [iso2PMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 576; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { - int grammarID = 577; - int done = 0; - - unsigned int iso2SignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 577: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( iso2SignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertiesType->Id.characters, iso2SignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 578; - } else if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 578: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 579: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (iso2SignaturePropertiesType_SignatureProperty_currArrayIndex < iso2SignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array [iso2SignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 579; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { - int grammarID = 580; - int done = 0; - - unsigned int iso2PMaxScheduleEntryType_PMax_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 580: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2PMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 582; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 583; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ - if (iso2PMaxScheduleEntryType_PMax_currArrayIndex < iso2PMaxScheduleEntryType->PMax.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array [iso2PMaxScheduleEntryType_PMax_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType) { - int grammarID = 584; - int done = 0; - - unsigned int iso2SignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 584: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( iso2SignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureType->Id.characters, iso2SignatureType->Id.charactersLen); - } - } - grammarID = 585; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo ); - } - grammarID = 586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 585: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo ); - } - grammarID = 586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 586: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &iso2SignatureType->SignatureValue ); - } - grammarID = 587; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 587: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( iso2SignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &iso2SignatureType->KeyInfo ); - } - grammarID = 588; - } else if (iso2SignatureType_Object_currArrayIndex < iso2SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &iso2SignatureType->Object.array [iso2SignatureType_Object_currArrayIndex++]); - } - grammarID = 588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 588: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (iso2SignatureType_Object_currArrayIndex < iso2SignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &iso2SignatureType->Object.array [iso2SignatureType_Object_currArrayIndex++]); - } - grammarID = 588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { - int grammarID = 589; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 589: - /* 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, iso2VehicleCheckInReqType->EVCheckInStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 590; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ - if ( iso2VehicleCheckInReqType->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, iso2VehicleCheckInReqType->ParkingMethod); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 591: - /* 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, iso2ConnectChargingDeviceResType->ResponseCode); - /* 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:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2ConnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ConnectChargingDeviceResType->EVSEStatus ); - } - grammarID = 593; - } 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, iso2ConnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 593: - /* 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, iso2ConnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 594: - /* 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, iso2ConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2ConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { - int grammarID = 596; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 596: - /* 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, iso2WeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( iso2WeldingDetectionResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2WeldingDetectionResType->EVSEStatus ); - } - grammarID = 598; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2SessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2SessionStopResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SessionStopResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { - int grammarID = 601; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 601: - /* 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, iso2VehicleCheckInResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 602; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ - if ( iso2VehicleCheckInResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2VehicleCheckInResType->EVSEStatus ); - } - grammarID = 603; - } 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, iso2VehicleCheckInResType->VehicleSpace); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 603: - /* 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, iso2VehicleCheckInResType->VehicleSpace); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ - if ( iso2VehicleCheckInResType->TargetOffset_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TargetPositionType(stream, &iso2VehicleCheckInResType->TargetOffset ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType) { - int grammarID = 605; - int done = 0; - - unsigned int iso2ServiceListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 605: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 606; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 607; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 608; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 609; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 610; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 611; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 612; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ - if (iso2ServiceListType_Service_currArrayIndex < iso2ServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &iso2ServiceListType->Service.array [iso2ServiceListType_Service_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { - int grammarID = 613; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 613: - /* 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, iso2CertificateUpdateResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 614; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( iso2CertificateUpdateResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CertificateUpdateResType->EVSEStatus ); - } - grammarID = 615; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 616; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 616; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 617; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 618; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateUpdateResType->DHpublickey ); - } - grammarID = 619; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &iso2CertificateUpdateResType->eMAID ); - } - grammarID = 620; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ - if ( iso2CertificateUpdateResType->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, iso2CertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { - int grammarID = 621; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 621: - /* 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, iso2FinePositioningSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 622; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2FinePositioningSetupResType->EVSEStatus ); - } - grammarID = 623; - } else if ( iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { - int grammarID = 624; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 624: - /* 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, iso2AC_EVBidirectionalParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 625; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargePower ); - } - grammarID = 626; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 627; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); - } - grammarID = 628; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest ); - } - grammarID = 629; - } else if ( iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 630; - } else if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 630; - } else if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 631; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 632; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 633; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 634; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { - int grammarID = 635; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 635: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetEnergyRequest ); - } - grammarID = 636; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest ); - } - grammarID = 637; - } else if ( iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 638; - } else if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 638; - } else if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 639; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent ); - } - grammarID = 640; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetVoltage ); - } - grammarID = 641; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumVoltage ); - } - grammarID = 642; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumVoltage ); - } - grammarID = 643; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 644; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); - } - grammarID = 645; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 646; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 646; - } else if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ - if ( iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { - int grammarID = 647; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 647: - /* 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)(iso2CertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateUpdateReqType->Id.characters, iso2CertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 648; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 648: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 649; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 649: - /* 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)(iso2CertificateUpdateReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateUpdateReqType->eMAID.characters, iso2CertificateUpdateReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 650; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType) { - int grammarID = 651; - int done = 0; - - unsigned int iso2ConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 651: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ConsumptionCostType->startValue ); - } - grammarID = 652; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 653; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 654; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ - if (iso2ConsumptionCostType_Cost_currArrayIndex < iso2ConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array [iso2ConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType) { - int grammarID = 655; - int done = 0; - - unsigned int iso2SAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 655: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 656; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 657; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (iso2SAScheduleListType_SAScheduleTuple_currArrayIndex < iso2SAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array [iso2SAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { - int grammarID = 658; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 658: - /* 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)(iso2MagneticVectorSetupType->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MagneticVectorSetupType->GAID.characters, iso2MagneticVectorSetupType->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 659; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 659: - /* 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, iso2MagneticVectorSetupType->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,"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_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { - int grammarID = 660; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 660: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 661; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorList ); - } - grammarID = 662; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorOrder ); - } - grammarID = 663; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 663: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 664; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 664: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 665; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 665: - /* 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)(iso2LFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 666; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 666: - /* 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, iso2LFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 667; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 667: - /* 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, iso2LFA_EVSEFinePositioningSetupParametersType->SignalFrequency); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType) { - int grammarID = 668; - int done = 0; - - unsigned int iso2PaymentOptionListType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 668: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ - if (iso2PaymentOptionListType_PaymentOption_currArrayIndex < iso2PaymentOptionListType->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, iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 669; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (iso2PaymentOptionListType_PaymentOption_currArrayIndex < iso2PaymentOptionListType->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, iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_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_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 670: - /* 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)(iso2LFA_EVSEFinePositioningParametersType->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 671; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &iso2LFA_EVSEFinePositioningParametersType->SensorPackageList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { - int grammarID = 672; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 672: - /* 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, iso2RelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 673; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ - if ( iso2RelativeTimeIntervalType->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, iso2RelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { - int grammarID = 675; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 675: - /* 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, iso2AlignmentCheckReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - if ( iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2AlignmentCheckReqType->AlignmentCheckParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { - int grammarID = 677; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 677: - /* 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)(iso2CertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateInstallationReqType->Id.characters, iso2CertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 678; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 678: - /* 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)(iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateInstallationReqType->OEMProvisioningCert.bytes, iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 650; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType) { - int grammarID = 679; - int done = 0; - - unsigned int iso2TransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 679: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (iso2TransformsType_Transform_currArrayIndex < iso2TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &iso2TransformsType->Transform.array [iso2TransformsType_Transform_currArrayIndex++]); - } - grammarID = 680; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 680: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (iso2TransformsType_Transform_currArrayIndex < iso2TransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &iso2TransformsType->Transform.array [iso2TransformsType_Transform_currArrayIndex++]); - } - grammarID = 680; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType) { - int grammarID = 681; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 681: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Encoding.characters, iso2ObjectType->Encoding.charactersLen); - } - } - grammarID = 682; - } else if ( iso2ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Id.characters, iso2ObjectType->Id.charactersLen); - } - } - grammarID = 683; - } else if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 682: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->Id.characters, iso2ObjectType->Id.charactersLen); - } - } - grammarID = 683; - } else if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 683: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2ObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->MimeType.characters, iso2ObjectType->MimeType.charactersLen); - } - } - grammarID = 684; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2ObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2ObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ObjectType->ANY.characters, iso2ObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ -static int encode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType) { - int grammarID = 686; - int done = 0; - - unsigned int iso2SensorOrderListType_SensorPosition_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 686: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.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)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 687; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 688; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 689; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 690; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 691; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 692; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 693; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 694; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 695; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 696; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 697; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 698; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 699; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 700; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 701; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 702; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 703; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 704; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 705; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 706; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 707; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 708; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 709; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 710; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 711; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 712; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 713; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 714; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 715; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 716; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 717; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 718; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 719; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 720; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 721; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 722; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 723; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 724; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 725; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 726; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 727; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 728; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 729; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 730; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 731; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 732; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 733; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 734; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 735; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 736; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 737; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 738; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 739; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 740; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 741; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 742; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 743; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 744; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 745; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 746; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 747; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 748; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 749; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 750; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 751; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 752; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 753; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 754; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 755; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 756; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 757; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 758; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 759; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 760; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 761; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 762; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 763; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 764; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 765; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 766; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 767; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 768; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 769; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 770; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 771; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 772; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 773; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 774; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 775; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 776; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 777; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 778; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 779; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 780; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 781; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 782; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 783; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 784; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 785; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 786; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 787; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 788; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 788: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 789; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 790; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 791; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 792; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 793; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 794; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 795; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 796; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 797; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 797: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 798; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 798: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 799; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 800; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 801; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 801: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 802; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 802: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 803; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 803: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 804; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 804: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 805; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 805: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 806; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 807; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 808; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 809; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 810; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 810: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 811; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 812; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 812: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 813; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 814; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 814: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 815; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 816; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 816: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 817; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 818; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 818: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 819; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 820; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 820: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 821; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 822; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 823; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 824; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 824: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 825; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 826; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 826: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 827; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 828; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 828: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 829; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 829: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 830; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 830: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 831; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 832; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 833; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 834; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 835; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 836; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 837; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 838; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 839; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 840; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 841; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 842; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 843; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 844; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 845; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 846; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 847; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 847: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 848; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 848: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 849; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 849: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 850; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 850: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 851; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 851: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 852; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 852: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 853; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 853: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 854; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 854: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 855; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 855: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 856; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 856: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 857; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 857: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 858; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 859; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 859: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 860; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 861; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 862; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 862: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 863; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 863: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 864; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 864: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 865; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 866; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 866: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 867; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 867: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 868; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 869; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 870; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 871; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 872; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 873; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 874; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 874: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 875; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 876; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 877; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 877: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 878; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 878: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 879; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 880; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 880: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 881; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 881: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 882; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 883; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 883: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 884; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 885; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 887; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 888; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 888: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 889; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 890; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 891; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 892; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 893; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 894; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 895; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 896; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 897; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 898; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 899; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 899: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 900; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 900: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 901; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 902; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 903; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 904; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 905; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 906; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 907; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 908; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 909; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 910; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 911; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 912; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 912: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 913; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 914; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 915; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 916; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 917; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 918; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 919; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 920; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 921; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 922; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 923; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 924; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 925; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 926; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 927; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 928; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 929; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 930; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 930: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 931; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 932; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 933; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 933: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 934; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 935; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 936; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 937; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 937: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 938; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 938: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 939; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 939: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 940; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 940: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ - if (iso2SensorOrderListType_SensorPosition_currArrayIndex < iso2SensorOrderListType->SensorPosition.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType_SensorPosition_currArrayIndex++] - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { - int grammarID = 941; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 941: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryReqType->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)(iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints - 12)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 942; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); - } - grammarID = 943; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); - } - grammarID = 943; - } else if ( iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); - } - grammarID = 943; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 943: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ - if ( iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MinimumPMaxRequestType(stream, &iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType) { - int grammarID = 944; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 944: - /* 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)(iso2ParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ParameterType->Name.characters, iso2ParameterType->Name.charactersLen); - } - } - grammarID = 945; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 945: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue)] */ - if ( iso2ParameterType->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, iso2ParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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)(iso2ParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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, iso2ParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->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, iso2ParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if ( iso2ParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ParameterType->physicalValue ); - } - grammarID = 3; - } else if ( iso2ParameterType->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)(iso2ParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ParameterType->stringValue.characters, iso2ParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType) { - int grammarID = 946; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 946: - /* 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, iso2SessionStopReqType->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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":MeasurementDataList)', derivedBy='RESTRICTION'. */ -static int encode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { - int grammarID = 947; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 947: - /* 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)(iso2SensorMeasurementsType->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 948; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 948: - /* 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)(iso2SensorMeasurementsType->EffectiveRadiatedPower + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 949; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MeasurementDataListType(stream, &iso2SensorMeasurementsType->MeasurementDataList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { - int grammarID = 950; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 950: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargePower ); - } - grammarID = 951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 952; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumChargeCurrent ); - } - grammarID = 953; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumVoltage ); - } - grammarID = 954; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumVoltage ); - } - grammarID = 955; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 956; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 957; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 957; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType) { - int grammarID = 958; - int done = 0; - - unsigned int iso2SensorPackageListType_SensorPackage_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 958: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 959; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 959: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 960; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 960: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 961; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 962; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 962: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 963; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 963: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 964: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 965; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 965: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 966; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 967; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 967: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 968; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 969; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 970; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 971; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 972; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 973; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 974; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 975; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 976; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 977; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 978; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 979; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 980; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 981; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 982; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 983; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 983: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 984; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 984: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 985; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 985: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 986; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 986: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 987; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 987: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 988; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 988: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 989; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 989: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 990; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 990: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 991; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 992; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 993; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 994; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 994: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 995; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 996; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 997; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 998; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 999; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1000; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1001; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1002; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1003; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1004; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1005; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1006; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1007; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1008; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1009; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1010; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1011; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1012; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1013; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1014; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1014: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1015; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1015: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1016; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1016: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1017; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1017: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1018; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1019; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1020; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1021; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1022; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1023; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1024; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1025; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1026; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1027; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1028; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1029; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1030; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1031; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1032; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1033; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1034; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1035; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1036; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1037; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1038; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1039; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1040; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1041; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1042; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1043; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1044; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1045; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1046; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1047; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1048; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1049; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1050; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1051; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1052; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1053; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1054; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1055; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1056; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1057; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1058; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1059; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1060; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1061; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1062; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1063; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1064; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1065; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1066; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1067; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1068; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1069; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1070; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1071; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1072; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1073; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1074; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1075; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1076; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1077; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1078; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1079; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1080; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1081; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1082; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1083; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1084; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1085; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1086; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1087; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1088; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1089; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1090; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1091; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1092; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1093; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1094; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1095; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1096; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1097; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1098; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1099; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 1212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ - if (iso2SensorPackageListType_SensorPackage_currArrayIndex < iso2SensorPackageListType->SensorPackage.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array [iso2SensorPackageListType_SensorPackage_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ -static int encode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType) { - int grammarID = 1213; - int done = 0; - - unsigned int iso2MeasurementDataListType_MeasurementData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1213: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1272; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1272: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1273; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1273: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1274; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1275; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1276; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1277; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1277: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1278; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1278: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1279; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1279: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1280; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1281; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1282; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1283; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1283: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1284; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1284: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1285; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1285: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1286; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1287; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1288; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1289; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1290; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1291; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1292; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1292: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1293; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1294; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1295; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1296; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1297; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1298; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1299; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1299: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1300; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1301; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1317; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1318; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1319; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1320; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1321; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ - if (iso2MeasurementDataListType_MeasurementData_currArrayIndex < iso2MeasurementDataListType->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, iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType_MeasurementData_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType) { - int grammarID = 1468; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1468: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - if ( iso2CertificateChainType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CertificateChainType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CertificateChainType->Id.characters, iso2CertificateChainType->Id.charactersLen); - } - } - grammarID = 1469; - } 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)(iso2CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateChainType->Certificate.bytes, iso2CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1470; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1469: - /* 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)(iso2CertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2CertificateChainType->Certificate.bytes, iso2CertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1470; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( iso2CertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SubCertificatesType(stream, &iso2CertificateChainType->SubCertificates ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType) { - int grammarID = 1471; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1471: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( iso2SignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Id.characters, iso2SignaturePropertyType->Id.charactersLen); - } - } - grammarID = 1472; - } 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)(iso2SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 1473; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1472: - /* 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)(iso2SignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType->Target.charactersLen); - } - } - grammarID = 1473; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1473: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1474; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1474: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1474; - } 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_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType) { - int grammarID = 1475; - int done = 0; - int wcDone = 0; - - unsigned int iso2TransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1475: - /* 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)(iso2TransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->Algorithm.characters, iso2TransformType->Algorithm.charactersLen); - } - } - grammarID = 1476; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1476: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2TransformType_XPath_currArrayIndex < iso2TransformType->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)(iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].characters, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen); - iso2TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1477; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1477; - } else if ( iso2TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->ANY.characters, iso2TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1477; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1477: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2TransformType_XPath_currArrayIndex < iso2TransformType->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)(iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].characters, iso2TransformType->XPath.array[iso2TransformType_XPath_currArrayIndex].charactersLen); - iso2TransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1477; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1477; - } else if ( iso2TransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2TransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2TransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2TransformType->ANY.characters, iso2TransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1477; - } 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_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType) { - int grammarID = 1478; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1478: - /* 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)(iso2EMAIDType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2EMAIDType->Id.characters, iso2EMAIDType->Id.charactersLen); - } - } - grammarID = 1479; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1479: - /* 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)(iso2EMAIDType->CONTENT.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2EMAIDType->CONTENT.characters, iso2EMAIDType->CONTENT.charactersLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType) { - int grammarID = 1480; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1480: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->P.bytes, iso2DSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1481; - } else if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->G.bytes, iso2DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1482; - } 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1481: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Q.bytes, iso2DSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1484; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1484: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->G.bytes, iso2DSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1482; - } 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1482: - /* 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)(iso2DSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Y.bytes, iso2DSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1483; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1483: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->J.bytes, iso2DSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1485; - } else if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Seed.bytes, iso2DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1485: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->Seed.bytes, iso2DSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1486: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( iso2DSAKeyValueType->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)(iso2DSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DSAKeyValueType->PgenCounter.bytes, iso2DSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType) { - int grammarID = 1487; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1487: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2EntryType->RelativeTimeInterval ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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: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_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType) { - int grammarID = 1488; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1488: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016: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)(iso2MessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MessageHeaderType->SessionID.bytes, iso2MessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1489; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1489: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( iso2MessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &iso2MessageHeaderType->Signature ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { - int grammarID = 1490; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1490: - /* 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, iso2WPT_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1491; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumPower ); - } - grammarID = 1492; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumPower ); - } - grammarID = 1493; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 1494; - } else if ( iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1495; - } else if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1495; - } else if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ - if ( iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1496: - /* 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, iso2DisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); - /* 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: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, iso2DisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { - int grammarID = 1498; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1498: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVTargetEnergyRequest ); - } - grammarID = 1499; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMaximumEnergyRequest ); - } - grammarID = 1500; - } else if ( iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest ); - } - grammarID = 1501; - } else if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest ); - } - grammarID = 1501; - } else if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ - if ( iso2ChargeLoopReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2MeteringReceiptResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2MeteringReceiptResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2MeteringReceiptResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType) { - int grammarID = 1502; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1502: - /* 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, iso2SessionSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1503; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2SessionSetupResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SessionSetupResType->EVSEStatus ); - } - grammarID = 1504; - } 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)(iso2SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1505; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1504: - /* 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)(iso2SessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType->EVSEID.charactersLen); - } - /* 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}EVSETimeStamp), END_ELEMENT] */ - if ( iso2SessionSetupResType->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, iso2SessionSetupResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { - int grammarID = 1506; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1506: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVTargetEnergyRequest ); - } - grammarID = 1507; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest ); - } - grammarID = 1508; - } else if ( iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 1509; - } else if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest ); - } - grammarID = 1509; - } else if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters ); - } - grammarID = 1510; - } else if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( iso2AC_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, iso2AC_BidirectionalControlReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1511; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower ); - } - grammarID = 1512; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargePower ); - } - grammarID = 1513; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 1514; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent ); - } - grammarID = 1514; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - if ( iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); - } - grammarID = 1515; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent ); - } - grammarID = 1516; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent ); - } - grammarID = 1516; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - if ( iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent ); - } - grammarID = 1517; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower ); - } - grammarID = 1518; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower ); - } - grammarID = 1518; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentReactivePower ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { - int grammarID = 1519; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1519: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorListType(stream, &iso2MV_EVSEFinePositioningParametersType->MagneticVectorList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType) { - int grammarID = 1520; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1520: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Id.characters, iso2ReferenceType->Id.charactersLen); - } - } - grammarID = 1521; - } else if ( iso2ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Type.characters, iso2ReferenceType->Type.charactersLen); - } - } - grammarID = 1522; - } else if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1521: - /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->Type.characters, iso2ReferenceType->Type.charactersLen); - } - } - grammarID = 1522; - } else if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1522: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ReferenceType->URI.characters, iso2ReferenceType->URI.charactersLen); - } - } - grammarID = 1523; - } else if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1523: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( iso2ReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &iso2ReferenceType->Transforms ); - } - grammarID = 1524; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1524: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod ); - } - grammarID = 1525; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1525: - /* 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)(iso2ReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2ReferenceType->DigestValue.bytes, iso2ReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { - int grammarID = 1526; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1526: - /* 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)(iso2MeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MeteringReceiptReqType->Id.characters, iso2MeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 1527; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1527: - /* 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)(iso2MeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2MeteringReceiptReqType->SessionID.bytes, iso2MeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1528; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - if ( iso2MeteringReceiptReqType->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)(iso2MeteringReceiptReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1529; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType) { - int grammarID = 1530; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1530: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue ); - } - grammarID = 1531; - } else if ( iso2KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue ); - } - grammarID = 1531; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1531; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1532; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1531: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1531; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1532: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue ); - } - grammarID = 1531; - } else if ( iso2KeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue ); - } - grammarID = 1531; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1531; - } else if ( iso2KeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyValueType->ANY.characters, iso2KeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1532; - } 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_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType) { - int grammarID = 1533; - int done = 0; - - unsigned int iso2SensorListType_Sensor_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1533: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1534; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1555; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1555: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1556; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1556: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1557; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1557: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1558; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1558: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1559; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1560; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1561; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1562; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1563; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1563: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1564; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1573; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1573: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1574; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1575; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1575: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1576; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1577; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1578; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1578: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1579; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1580; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1581; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1581: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1582; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1583; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1584; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1585; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1585: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1586; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1587; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1587: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1588; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1589; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1589: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1590; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1590: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1591; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1592; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1593; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1594; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1595; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1595: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1596; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1597; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1598; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1599; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1599: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1600; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1601; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1601: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1602; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1602: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1603; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1603: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1604; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1604: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1605; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1605: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1606; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1606: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1607; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1607: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1608; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1608: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1609; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1609: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1610; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1610: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1611; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1611: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1612; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1612: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1613; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1613: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1614; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1614: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1615; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1615: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1616; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1616: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1617; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1617: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1618; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1618: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1619; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1619: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1620; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1620: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1621; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1621: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1622; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1622: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1623; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1623: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1624; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1624: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1625; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1625: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1626; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1626: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1627; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1627: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1628; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1628: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1629; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1629: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1630; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1630: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1631; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1631: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1632; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1632: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1633; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1633: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1634; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1634: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1635; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1635: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1636; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1636: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1637; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1637: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1638; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1638: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1639; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1639: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1640; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1640: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1641; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1641: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1642; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1642: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1643; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1643: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1644; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1644: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1645; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1645: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1646; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1646: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1647; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1647: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1648; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1648: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1649; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1649: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1650; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1650: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1651; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1651: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1652; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1652: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1653; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1653: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1654; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1654: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1655; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1655: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1656; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1656: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1657; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1657: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1658; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1658: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1659; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1659: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1660; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1660: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1661; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1661: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1662; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1662: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1663; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1663: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1664; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1664: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1665; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1665: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1666; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1666: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1667; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1667: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1668; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1668: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1669; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1669: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1670; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1670: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1671; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1672; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1672: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1673; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1673: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1674; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1674: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1675; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1675: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1676; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1677; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1677: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1678; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1678: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1679; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1679: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1680; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1680: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1681; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1681: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1682; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1682: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1683; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1683: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1684; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1684: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1685; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1685: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1686; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1686: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1687; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1687: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1688; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1688: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1689; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1689: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1690; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1690: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1691; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1691: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1692; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1692: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1693; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1693: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1694; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1694: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1695; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1695: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1696; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1696: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1697; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1697: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1698; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1698: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1699; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1699: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1700; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1700: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1701; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1701: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1702; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1702: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1703; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1703: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1704; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1704: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1705; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1705: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1706; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1706: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1707; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1707: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1708; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1708: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1709; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1709: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1710; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1710: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1711; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1711: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1712; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1712: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1713; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1713: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1714; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1714: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1715; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1715: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1716; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1716: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1717; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1717: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1718; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1718: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1719; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1719: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1720; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1720: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1721; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1721: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1722; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1722: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1723; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1723: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1724; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1724: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1725; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1725: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1726; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1726: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1727; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1727: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1728; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1728: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1729; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1729: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1730; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1730: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1731; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1731: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1732; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1732: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1733; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1733: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1734; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1734: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1735; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1735: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1736; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1736: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1737; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1737: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1738; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1738: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1739; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1739: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1740; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1740: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1741; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1741: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1742; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1742: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1743; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1743: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1744; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1744: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1745; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1745: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1746; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1746: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1747; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1747: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1748; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1748: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1749; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1749: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1750; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1750: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1751; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1751: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1752; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1752: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1753; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1753: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1754; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1754: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1755; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1755: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1756; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1756: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1757; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1757: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1758; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1758: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1759; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1759: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1760; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1760: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1761; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1761: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1762; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1762: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1763; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1763: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1764; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1764: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1765; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1765: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1766; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1766: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1767; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1767: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1768; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1768: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1769; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1769: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1770; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1770: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1771; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1771: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1772; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1772: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1773; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1773: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1774; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1774: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1775; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1775: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1776; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1776: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1777; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1777: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1778; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1778: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1779; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1779: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1780; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1780: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1781; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1781: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1782; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1782: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1783; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1783: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1784; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1784: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1785; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1785: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1786; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1786: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 1787; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1787: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ - if (iso2SensorListType_Sensor_currArrayIndex < iso2SensorListType->Sensor.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &iso2SensorListType->Sensor.array [iso2SensorListType_Sensor_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { - int grammarID = 1788; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1788: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetEnergyRequest ); - } - grammarID = 1789; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1789: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumEnergyRequest ); - } - grammarID = 1790; - } else if ( iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1791; - } else if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1790: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1791; - } else if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1791: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( iso2CurrentDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters ); - } - grammarID = 1792; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1792: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 1793; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1793: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 1794; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1794: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumCurrent ); - } - grammarID = 1795; - } else if ( iso2CurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower ); - } - grammarID = 1796; - } else if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1795: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower ); - } - grammarID = 1796; - } else if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1796: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ - if ( iso2CurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { - int grammarID = 1797; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1797: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ - if ( iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,"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_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { - int grammarID = 1798; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1798: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1799; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1799: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorList ); - } - grammarID = 1800; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1800: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorOrder ); - } - grammarID = 1801; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1801: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1802; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1802: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1803; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1803: - /* 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)(iso2LFA_EVFinePositioningSetupParametersType->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1804; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1804: - /* 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, iso2LFA_EVFinePositioningSetupParametersType->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { - int grammarID = 1805; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1805: - /* 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)(iso2SAScheduleTupleType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1806; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1806: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxSchedule ); - } - grammarID = 1807; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1807: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxDischargeSchedule ); - } - grammarID = 1808; - } else if ( iso2SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff ); - } - grammarID = 1809; - } else if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1808: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff ); - } - grammarID = 1809; - } else if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1809: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ - if ( iso2SAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { - int grammarID = 1810; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1810: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMaximumPower ); - } - grammarID = 1811; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1811: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMinimumPower ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType) { - int grammarID = 1812; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1812: - /* 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, iso2FinePositioningResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1813; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1813: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2FinePositioningResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2FinePositioningResType->EVSEStatus ); - } - grammarID = 1814; - } 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, iso2FinePositioningResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1815; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1814: - /* 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, iso2FinePositioningResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1815; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1815: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ - if ( iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2Generic_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->Generic_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->LFA_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->MV_EVSEFinePositioningParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType) { - int grammarID = 1816; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1816: - /* 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, iso2ServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1817; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1817: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ - if ( iso2ServiceDetailResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ServiceDetailResType->EVSEStatus ); - } - grammarID = 1818; - } 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, iso2ServiceDetailResType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1819; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1818: - /* 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, iso2ServiceDetailResType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1819; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1819: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ - if ( iso2ServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceParameterListType(stream, &iso2ServiceDetailResType->ServiceParameterList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { - int grammarID = 1820; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1820: - /* 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, iso2PowerDeliveryReqType->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1821; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1821: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->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, iso2PowerDeliveryReqType->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1822; - } else if ( iso2PowerDeliveryReqType->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)(iso2PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1823; - } else if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1822: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->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)(iso2PowerDeliveryReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1823; - } else if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1823: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ - if ( iso2PowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType) { - int grammarID = 1824; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1824: - /* 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, iso2PairingResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1825; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1825: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2PairingResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PairingResType->EVSEStatus ); - } - grammarID = 1826; - } 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, iso2PairingResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1826: - /* 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, iso2PairingResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - if ( iso2PairingResType->PairingParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PairingResType->PairingParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType) { - int grammarID = 1828; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1828: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso2AuthorizationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2AuthorizationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2AuthorizationReqType->Id.characters, iso2AuthorizationReqType->Id.charactersLen); - } - } - grammarID = 1829; - } else if ( iso2AuthorizationReqType->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)(iso2AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytes, iso2AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1829: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ - if ( iso2AuthorizationReqType->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)(iso2AuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytes, iso2AuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType) { - int grammarID = 1830; - int done = 0; - - unsigned int iso2ParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1830: - /* 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, iso2ParameterSetType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1831; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1831: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1832; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1832: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1833; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1833: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1834; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1834: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1835; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1835: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1836; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1836: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1837; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1837: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1838; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1838: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1839; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1839: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1840; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1840: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1841; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1841: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1842; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1842: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1843; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1843: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1844; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1844: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1845; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1845: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 1846; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1846: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ - if (iso2ParameterSetType_Parameter_currArrayIndex < iso2ParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array [iso2ParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType) { - int grammarID = 1847; - int done = 0; - int wcDone = 0; - - unsigned int iso2SPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1847: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1848: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1849; - } else if ( iso2SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1849: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (iso2SPKIDataType_SPKISexp_currArrayIndex < iso2SPKIDataType->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)(iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytes, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType_SPKISexp_currArrayIndex].bytesLen); - iso2SPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1848; - } else if ( iso2SPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { - int grammarID = 1850; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1850: - /* 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, iso2PaymentDetailsResType->ResponseCode); - /* 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}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ - if ( iso2PaymentDetailsResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PaymentDetailsResType->EVSEStatus ); - } - grammarID = 1852; - } 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)(iso2PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytes, iso2PaymentDetailsResType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1853; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1852: - /* 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)(iso2PaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytes, iso2PaymentDetailsResType->GenChallenge.bytesLen); - } - /* 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}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, iso2PaymentDetailsResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType) { - int grammarID = 1854; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1854: - /* 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)(iso2SignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->Algorithm.characters, iso2SignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 1855; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1855: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2SignatureMethodType->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, iso2SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 685; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1856; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1856: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( iso2SignatureMethodType->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, iso2SignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 685; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2SignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2SignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1856; - } 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_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { - int grammarID = 1857; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1857: - /* 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, iso2AC_BidirectionalControlResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1858; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1858: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2AC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AC_BidirectionalControlResType->EVSEStatus ); - } - grammarID = 1859; - } 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, iso2AC_BidirectionalControlResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1860; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1859: - /* 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, iso2AC_BidirectionalControlResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1860; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1860: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetPower ); - } - grammarID = 1861; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1861: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetReactivePower ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2AC_BidirectionalControlResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2AC_BidirectionalControlResType->EVSEID.characters, iso2AC_BidirectionalControlResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_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)(iso2AC_BidirectionalControlResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2AC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2AC_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, iso2AC_BidirectionalControlResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { - int grammarID = 1862; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1862: - /* 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, iso2VehicleCheckOutReqType->EVCheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1863; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1863: - /* 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, iso2VehicleCheckOutReqType->CheckOutTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { - int grammarID = 1864; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1864: - /* 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, iso2AlignmentCheckResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1865; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1865: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2AlignmentCheckResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2AlignmentCheckResType->EVSEStatus ); - } - grammarID = 1866; - } 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, iso2AlignmentCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1866: - /* 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, iso2AlignmentCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 676; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 676: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ - if ( iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2AlignmentCheckResType->AlignmentCheckParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType) { - int grammarID = 1867; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1867: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetEnergyRequest ); - } - grammarID = 1868; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1868: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMaximumEnergyRequest ); - } - grammarID = 1869; - } else if ( iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1870; - } else if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1869: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest ); - } - grammarID = 1870; - } else if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1870: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( iso2PowerDemandReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters ); - } - grammarID = 1871; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1871: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower ); - } - grammarID = 1872; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1872: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVInputPower ); - } - grammarID = 1873; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandReqType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandReqType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { - int grammarID = 1874; - int done = 0; - - unsigned int iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1874: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 1875; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1875: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 1876; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1876: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ - if (iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { - int grammarID = 591; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 591: - /* 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, iso2DisconnectChargingDeviceResType->ResponseCode); - /* 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:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2DisconnectChargingDeviceResType->EVSEStatus ); - } - grammarID = 593; - } 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, iso2DisconnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 593: - /* 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, iso2DisconnectChargingDeviceResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 594: - /* 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, iso2DisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2DisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType) { - int grammarID = 1877; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1877: - /* 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)(iso2SessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SessionSetupReqType->EVCCID.bytes, iso2SessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { - int grammarID = 1878; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1878: - /* 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)(iso2PaymentDetailsReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2PaymentDetailsReqType->eMAID.characters, iso2PaymentDetailsReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1879; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1879: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2PaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2Generic_EVFinePositioningParametersType->GenericParameters ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { - int grammarID = 1496; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1496: - /* 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, iso2ConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); - /* 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: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, iso2ConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { - int grammarID = 1881; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1881: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 1882; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1882: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalVoltage ); - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalFrequency ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { - int grammarID = 1883; - int done = 0; - - unsigned int iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1883: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &iso2SalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 1884; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1884: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if ( iso2SalesTariffEntryType->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)(iso2SalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1885; - } else if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1885: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1886; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1886: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 1887; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1887: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex < iso2SalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array [iso2SalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { - int grammarID = 1888; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1888: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargePower ); - } - grammarID = 1889; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1889: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); - } - grammarID = 1890; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1890: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent ); - } - grammarID = 1891; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1891: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumVoltage ); - } - grammarID = 1892; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1892: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumVoltage ); - } - grammarID = 1893; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1893: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 1894; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 1895; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1894: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 1895; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1895: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - if ( iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 1896; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); - } - grammarID = 1897; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1896: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); - } - grammarID = 1897; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1897: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); - } - grammarID = 1898; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1898: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { - int grammarID = 1899; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1899: - /* 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)(iso2CanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->Algorithm.characters, iso2CanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 684; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2CanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType) { - int grammarID = 1900; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1900: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->CurrentRange); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1901; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1902; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 12); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1901: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1902; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 11); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1902: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1903; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 10); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1903: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1904; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1904: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1905; - } else if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1905: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->ChargingPerformance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance ); - } - grammarID = 1906; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1906: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToTargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1907; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1907: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToBulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1908; - } else if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1908: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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)(iso2DisplayParametersType->RemainingTimeToMinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1909; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1909: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1910; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1910: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1911; - } else if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1911: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ - if ( iso2DisplayParametersType->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, iso2DisplayParametersType->InletHot); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { - int grammarID = 1912; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1912: - /* 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, iso2DC_EVBidirectionalParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1913; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1913: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargePower ); - } - grammarID = 1914; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower ); - } - grammarID = 1915; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1914: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower ); - } - grammarID = 1915; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1915: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1916; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1916: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); - } - grammarID = 1917; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1917: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumVoltage ); - } - grammarID = 1918; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1918: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest ); - } - grammarID = 1919; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1920; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1919: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1920; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1920: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1921; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1921: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1922; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1922: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1923; - } else if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1923: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1924; - } else if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1924: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower ); - } - grammarID = 1925; - } else if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1925: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower ); - } - grammarID = 1926; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1926: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); - } - grammarID = 1927; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1927: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); - } - grammarID = 1928; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1928: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumVoltage ); - } - grammarID = 1929; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1929: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVBidirectionalParameterType->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { - int grammarID = 1930; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1930: - /* 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, iso2PaymentServiceSelectionReqType->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1931; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1931: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2PaymentServiceSelectionReqType->SelectedEnergyTransferService ); - } - grammarID = 1932; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1932: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ - if ( iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceListType(stream, &iso2PaymentServiceSelectionReqType->SelectedVASList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType) { - int grammarID = 1933; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1933: - /* 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)(iso2MagneticVectorType->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2MagneticVectorType->GAID.characters, iso2MagneticVectorType->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1934; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1934: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ - 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, iso2MagneticVectorType->Distance); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1935; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1935: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->AngleGAtoVA ); - } - grammarID = 1936; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1936: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->RotationVAtoGA ); - } - grammarID = 1937; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1937: - /* 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, iso2MagneticVectorType->FODStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType) { - int grammarID = 1938; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1938: - /* 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)(iso2PhysicalValueType->Exponent + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1939; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1939: - /* 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, iso2PhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType) { - int grammarID = 1940; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1940: - /* 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, iso2SystemStatusReqType->OperationMode); - /* 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: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, iso2SystemStatusReqType->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType) { - int grammarID = 1941; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1941: - /* 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, iso2SystemStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1942; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1942: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ - if ( iso2SystemStatusResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2SystemStatusResType->EVSEStatus ); - } - grammarID = 1943; - } 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, iso2SystemStatusResType->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1943: - /* 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, iso2SystemStatusResType->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 595; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 595: - /* 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, iso2SystemStatusResType->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,EVSEFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2V2GResponseType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2V2GResponseType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2V2GResponseType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType) { - int grammarID = 1944; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1944: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes)] */ - if ( iso2BodyType->AC_BidirectionalControlReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_iso2AC_BidirectionalControlReqType(stream, &iso2BodyType->AC_BidirectionalControlReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AC_BidirectionalControlRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_iso2AC_BidirectionalControlResType(stream, &iso2BodyType->AC_BidirectionalControlRes ); - } - grammarID = 3; - } else if ( iso2BodyType->AlignmentCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_iso2AlignmentCheckReqType(stream, &iso2BodyType->AlignmentCheckReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AlignmentCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_iso2AlignmentCheckResType(stream, &iso2BodyType->AlignmentCheckRes ); - } - grammarID = 3; - } else if ( iso2BodyType->AuthorizationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &iso2BodyType->AuthorizationReq ); - } - grammarID = 3; - } else if ( iso2BodyType->AuthorizationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &iso2BodyType->AuthorizationRes ); - } - grammarID = 3; - } else if ( iso2BodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &iso2BodyType->BodyElement ); - } - grammarID = 3; - } else if ( iso2BodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_iso2CableCheckReqType(stream, &iso2BodyType->CableCheckReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &iso2BodyType->CableCheckRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &iso2BodyType->CertificateInstallationReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &iso2BodyType->CertificateInstallationRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &iso2BodyType->CertificateUpdateReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &iso2BodyType->CertificateUpdateRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &iso2BodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &iso2BodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &iso2BodyType->ChargingStatusReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(stream, &iso2BodyType->ChargingStatusRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ConnectChargingDeviceReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_iso2ConnectChargingDeviceReqType(stream, &iso2BodyType->ConnectChargingDeviceReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ConnectChargingDeviceRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_iso2ConnectChargingDeviceResType(stream, &iso2BodyType->ConnectChargingDeviceRes ); - } - grammarID = 3; - } else if ( iso2BodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &iso2BodyType->CurrentDemandReq ); - } - grammarID = 3; - } else if ( iso2BodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(stream, &iso2BodyType->CurrentDemandRes ); - } - grammarID = 3; - } else if ( iso2BodyType->DC_BidirectionalControlReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_iso2DC_BidirectionalControlReqType(stream, &iso2BodyType->DC_BidirectionalControlReq ); - } - grammarID = 3; - } else if ( iso2BodyType->DC_BidirectionalControlRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_iso2DC_BidirectionalControlResType(stream, &iso2BodyType->DC_BidirectionalControlRes ); - } - grammarID = 3; - } else if ( iso2BodyType->DisconnectChargingDeviceReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_iso2DisconnectChargingDeviceReqType(stream, &iso2BodyType->DisconnectChargingDeviceReq ); - } - grammarID = 3; - } else if ( iso2BodyType->DisconnectChargingDeviceRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_iso2DisconnectChargingDeviceResType(stream, &iso2BodyType->DisconnectChargingDeviceRes ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &iso2BodyType->FinePositioningReq ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &iso2BodyType->FinePositioningRes ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &iso2BodyType->FinePositioningSetupReq ); - } - grammarID = 3; - } else if ( iso2BodyType->FinePositioningSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &iso2BodyType->FinePositioningSetupRes ); - } - grammarID = 3; - } else if ( iso2BodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &iso2BodyType->MeteringReceiptReq ); - } - grammarID = 3; - } else if ( iso2BodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &iso2BodyType->MeteringReceiptRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PairingReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &iso2BodyType->PairingReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PairingRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &iso2BodyType->PairingRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &iso2BodyType->PaymentDetailsReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &iso2BodyType->PaymentDetailsRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentServiceSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &iso2BodyType->PaymentServiceSelectionReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PaymentServiceSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 36); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &iso2BodyType->PaymentServiceSelectionRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 37); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &iso2BodyType->PowerDeliveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 38); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &iso2BodyType->PowerDeliveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 39); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &iso2BodyType->PowerDemandReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PowerDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 40); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &iso2BodyType->PowerDemandRes ); - } - grammarID = 3; - } else if ( iso2BodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 41); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &iso2BodyType->PreChargeReq ); - } - grammarID = 3; - } else if ( iso2BodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 42); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &iso2BodyType->PreChargeRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 43); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &iso2BodyType->ServiceDetailReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 44); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &iso2BodyType->ServiceDetailRes ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 45); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &iso2BodyType->ServiceDiscoveryReq ); - } - grammarID = 3; - } else if ( iso2BodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 46); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &iso2BodyType->ServiceDiscoveryRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 47); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &iso2BodyType->SessionSetupReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 48); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &iso2BodyType->SessionSetupRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 49); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &iso2BodyType->SessionStopReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 50); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &iso2BodyType->SessionStopRes ); - } - grammarID = 3; - } else if ( iso2BodyType->SystemStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 51); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &iso2BodyType->SystemStatusReq ); - } - grammarID = 3; - } else if ( iso2BodyType->SystemStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 52); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &iso2BodyType->SystemStatusRes ); - } - grammarID = 3; - } else if ( iso2BodyType->V2GRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 53); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &iso2BodyType->V2GRequest ); - } - grammarID = 3; - } else if ( iso2BodyType->V2GResponse_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 54); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &iso2BodyType->V2GResponse ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckInReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 55); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &iso2BodyType->VehicleCheckInReq ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckInRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 56); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &iso2BodyType->VehicleCheckInRes ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckOutReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 57); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &iso2BodyType->VehicleCheckOutReq ); - } - grammarID = 3; - } else if ( iso2BodyType->VehicleCheckOutRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 58); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &iso2BodyType->VehicleCheckOutRes ); - } - grammarID = 3; - } else if ( iso2BodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 59); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &iso2BodyType->WeldingDetectionReq ); - } - grammarID = 3; - } else if ( iso2BodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 60); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &iso2BodyType->WeldingDetectionRes ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType) { - int grammarID = 596; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 596: - /* 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, iso2PreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( iso2PreChargeResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PreChargeResType->EVSEStatus ); - } - grammarID = 598; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 598: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ -static int encode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { - int grammarID = 599; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 599: - /* 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, iso2PaymentServiceSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 600; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 600: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ - if ( iso2PaymentServiceSelectionResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PaymentServiceSelectionResType->EVSEStatus ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType) { - int grammarID = 1899; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 1899: - /* 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)(iso2DigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->Algorithm.characters, iso2DigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 684; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 684: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->ANY.characters, iso2DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 685: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 685; - } else if ( iso2DigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2DigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DigestMethodType->ANY.characters, iso2DigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 685; - } 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_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType) { - int grammarID = 1945; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1945: - /* 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, iso2TargetPositionType->TargetOffsetX); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1946; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1946: - /* 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, iso2TargetPositionType->TargetOffsetY); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { - int grammarID = 670; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 670: - /* 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)(iso2LFA_EVFinePositioningParametersType->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 671; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 671: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &iso2LFA_EVFinePositioningParametersType->SensorPackageList ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { - int grammarID = 1947; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1947: - /* 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, iso2DC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1948; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1948: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargePower ); - } - grammarID = 1949; - } else if ( iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower ); - } - grammarID = 1950; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1949: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower ); - } - grammarID = 1950; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1950: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent ); - } - grammarID = 1951; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1951: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargeCurrent ); - } - grammarID = 1952; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1952: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumVoltage ); - } - grammarID = 1953; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1953: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVTargetEnergyRequest ); - } - grammarID = 1954; - } else if ( iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1955; - } else if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1954: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest ); - } - grammarID = 1955; - } else if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1955: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest ); - } - grammarID = 1956; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1956: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1957; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1957: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1958; - } else if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1958: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( iso2DC_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)(iso2DC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { - int grammarID = 1959; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1959: - /* 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, iso2ServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType) { - int grammarID = 1960; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1960: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetVoltage ); - } - grammarID = 1961; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1961: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetCurrent ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType) { - int grammarID = 1962; - int done = 0; - - unsigned int iso2ManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1962: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( iso2ManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ManifestType->Id.characters, iso2ManifestType->Id.charactersLen); - } - } - grammarID = 1963; - } else if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1963: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso2ManifestType_Reference_currArrayIndex < iso2ManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array [iso2ManifestType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { - int grammarID = 1965; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1965: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MessageHeaderType(stream, &iso2AnonType_V2G_Message->Header ); - } - grammarID = 1966; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1966: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2BodyType(stream, &iso2AnonType_V2G_Message->Body ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType) { - int grammarID = 1967; - int done = 0; - - unsigned int iso2SelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1967: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1968; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1968: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1969; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1969: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1970; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1970: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1971; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1971: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1972; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1972: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1973; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1973: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1974; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1974: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1975; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1975: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1976; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1976: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1977; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1977: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1978; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1978: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1979; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1979: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1980; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1980: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1981; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1981: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 1982; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1982: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (iso2SelectedServiceListType_SelectedService_currArrayIndex < iso2SelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array [iso2SelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { - int grammarID = 1880; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1880: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2Generic_EVSEFinePositioningParametersType->GenericParameters ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { - int grammarID = 1983; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 1983: - /* 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, iso2CartesianCoordinatesType->XCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1984; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1984: - /* 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, iso2CartesianCoordinatesType->YCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1985; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1985: - /* 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, iso2CartesianCoordinatesType->ZCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType) { - int grammarID = 1986; - int done = 0; - int wcDone = 0; - - unsigned int iso2KeyInfoType_KeyName_currArrayIndex = 0; - unsigned int iso2KeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int iso2KeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int iso2KeyInfoType_X509Data_currArrayIndex = 0; - unsigned int iso2KeyInfoType_PGPData_currArrayIndex = 0; - unsigned int iso2KeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int iso2KeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1986: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if ( iso2KeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->Id.characters, iso2KeyInfoType->Id.charactersLen); - } - } - grammarID = 1987; - } else if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1987: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1988: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1988; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1989: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (iso2KeyInfoType_KeyName_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].characters, iso2KeyInfoType->KeyName.array[iso2KeyInfoType_KeyName_currArrayIndex].charactersLen); - iso2KeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (iso2KeyInfoType_KeyValue_currArrayIndex < iso2KeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array [iso2KeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_RetrievalMethod_currArrayIndex < iso2KeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array [iso2KeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_X509Data_currArrayIndex < iso2KeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array [iso2KeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_PGPData_currArrayIndex < iso2KeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array [iso2KeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_SPKIData_currArrayIndex < iso2KeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array [iso2KeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 1988; - } else if (iso2KeyInfoType_MgmtData_currArrayIndex < iso2KeyInfoType->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)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].characters, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType_MgmtData_currArrayIndex].charactersLen); - iso2KeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1988; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 1988; - } else if ( iso2KeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2KeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2KeyInfoType->ANY.characters, iso2KeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 1989; - } 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,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_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType) { - int grammarID = 1990; - int done = 0; - - unsigned int iso2SubCertificatesType_Certificate_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1990: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1991; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1991: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1992; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1992: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1993; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1993: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ - if (iso2SubCertificatesType_Certificate_currArrayIndex < iso2SubCertificatesType->Certificate.arrayLen ) { - 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)(iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytes, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType_Certificate_currArrayIndex].bytesLen); - iso2SubCertificatesType_Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { - int grammarID = 1994; - int done = 0; - - unsigned int iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 1994: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1995; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1995: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1996; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1996: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1997; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1997: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1998; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1998: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 1999; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1999: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2000; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2000: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2001; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2001: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2002; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2002: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2003; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2003: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2004; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2004: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2005; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2005: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2006; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2006: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2007; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2007: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2008; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2008: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2009; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2009: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2010; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2010: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2011; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2011: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2012; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2012: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 2013; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2013: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array [iso2ListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { - int grammarID = 2014; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2014: - /* 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, iso2EVEnergyTransferParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { - int grammarID = 2015; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2015: - /* 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)(iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2ContractSignatureEncryptedPrivateKeyType->Id.characters, iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - } - } - grammarID = 2016; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { - int grammarID = 2017; - int done = 0; - - unsigned int iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2017: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2018; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2018: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2019; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2019: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2020; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2020: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2021; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2021: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2022; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2022: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2023; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2023: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2024; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2024: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2025; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2025: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2026; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2026: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2027; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2027: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2028; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2028: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2029; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2029: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2030; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2030: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2031; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2031: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2032; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2032: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2033; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2033: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2034; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2034: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2035; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2035: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2036; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2036: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2037; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2037: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2038; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2038: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2039; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2039: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2040; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2040: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2041; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2041: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2042; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2042: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2043; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2043: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2044; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2044: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2045; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2045: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2046; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2046: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2047; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2047: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2048; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2048: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2049; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2049: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2050; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2050: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2051; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2051: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2052; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2052: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2053; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2053: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2054; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2054: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2055; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2055: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2056; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2056: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2057; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2057: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2058; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2058: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2059; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2059: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2060; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2060: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2061; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2061: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2062; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2062: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2063; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2063: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2064; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2064: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2065; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2065: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2066; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2066: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2067; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2067: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2068; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2068: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2069; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2069: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2070; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2070: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2071; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2071: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2072; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2072: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2073; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2073: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2074; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2074: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2075; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2075: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2076; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2076: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2077; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2077: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2078; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2078: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2079; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2079: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2080; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2080: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2081; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2081: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2082; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2082: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2083; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2083: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2084; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2084: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2085; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2085: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2086; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2086: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2087; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2087: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2088; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2088: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2089; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2089: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2090; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2090: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2091; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2091: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2092; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2092: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2093; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2093: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2094; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2094: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2095; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2095: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2096; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2096: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2097; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2097: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2098; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2098: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2099; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2099: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2100; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2100: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2101; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2101: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2102; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2102: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2103; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2103: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2104; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2104: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2105; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2105: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2106: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2107; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2107: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2108; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2108: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2109; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2109: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2110; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2110: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2111; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2111: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2112; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2112: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2113; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2113: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2114; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2114: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2115; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2115: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2116: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2117; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2117: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2118; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2118: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2119; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2119: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2120; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2120: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2121; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2121: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2122; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2122: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2123; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2123: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2124; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2124: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2125; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2125: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2126; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2126: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2127; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2127: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2128; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2128: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2129; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2129: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2130; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2130: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2131; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2131: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2132; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2132: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2133; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2133: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2134; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2134: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2135: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2136; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2136: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2137; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2137: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2138; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2138: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2139; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2139: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2140; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2140: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2141; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2141: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2142; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2142: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2143; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2143: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2144; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2144: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2145; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2145: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2146; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2146: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2147; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2147: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2148; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2148: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2149; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2149: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2150; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2150: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2151; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2151: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2152; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2152: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2153; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2153: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2154; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2154: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2155; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2155: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2156; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2156: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2157; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2157: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2158; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2158: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2159; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2159: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2160: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2161; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2161: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2162: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2163; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2163: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2164; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2164: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2165; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2165: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2166; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2166: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2167; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2167: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2168; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2168: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2169; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2169: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2170; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2170: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2171; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2171: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2172; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2172: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2173; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2173: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2174; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2174: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2175; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2175: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2176; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2176: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2177; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2177: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2178; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2178: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2179; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2179: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2180; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2180: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2181; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2181: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2182; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2182: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2183; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2183: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2184: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2185; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2185: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2186; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2186: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2187; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2187: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2188; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2188: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2189; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2189: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2190; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2190: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2191; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2191: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2192; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2192: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2193; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2193: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2194; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2194: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2195; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2195: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2196; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2196: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2197; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2197: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2198; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2198: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2199; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2199: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2200; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2200: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2201; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2201: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2202; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2202: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2203; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2203: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2204; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2204: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2205; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2205: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2206; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2206: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2207; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2207: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2208; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2208: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2209; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2209: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2210; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2210: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2211; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2211: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2212; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2212: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2213; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2213: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2214; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2214: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2215; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2215: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2216; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2216: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2217; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2217: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2218; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2218: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2219; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2219: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2220; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2220: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2221; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2221: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2222: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2223; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2223: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2224; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2224: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2225; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2225: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2226; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2226: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2227; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2227: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2228; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2228: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2229; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2229: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2230; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2230: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2231; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2231: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2232; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2232: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2233; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2233: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2234; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2234: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2235; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2235: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2236; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2236: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2237; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2237: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2238; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2238: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2239: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2240; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2240: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2241; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2241: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2242; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2242: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2243; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2243: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2244; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2244: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2245; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2245: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2246; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2246: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2247; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2247: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2248; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2248: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2249; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2249: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2250; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2250: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2251; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2251: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2252: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2253; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2253: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2254; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2254: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2255; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2255: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2256; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2256: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2257; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2257: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2258; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2258: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2259; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2259: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2260; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2260: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2261; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2261: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2262; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2262: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2263; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2263: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2264; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2264: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2265; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2265: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2266: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2267; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2267: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2268; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2268: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2269; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2269: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2270; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2270: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 2271; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2271: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ - if (iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array [iso2MagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType) { - int grammarID = 2272; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2272: - /* 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, iso2PairingReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1827; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1827: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ - if ( iso2PairingReqType->PairingParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PairingReqType->PairingParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType) { - int grammarID = 2273; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2273: - /* 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, iso2CurrentDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2274; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2274: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( iso2CurrentDemandResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CurrentDemandResType->EVSEStatus ); - } - grammarID = 2275; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 2276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2275: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent ); - } - grammarID = 2276; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2276: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentVoltage ); - } - grammarID = 2277; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2277: - /* 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, iso2CurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2278; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2278: - /* 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, iso2CurrentDemandResType->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2279; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2279: - /* 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, iso2CurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2280; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2280: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumPower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumPower ); - } - grammarID = 2281; - } else if ( iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent ); - } - grammarID = 2282; - } else if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2281: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent ); - } - grammarID = 2282; - } else if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2282: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ - if ( iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage ); - } - grammarID = 27; - } 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* 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)(iso2CurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType->EVSEID.charactersLen); - } - /* 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:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->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)(iso2CurrentDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 29; - } else if ( iso2CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo ); - } - grammarID = 30; - } else if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( iso2CurrentDemandResType->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, iso2CurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { - int grammarID = 2283; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2283: - /* 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)(iso2X509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2X509IssuerSerialType->X509IssuerName.characters, iso2X509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2284; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2284: - /* 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, iso2X509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { - int grammarID = 2285; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2285: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVTargetEnergyRequest ); - } - grammarID = 2286; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2286: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumEnergyRequest ); - } - grammarID = 2287; - } else if ( iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest ); - } - grammarID = 2288; - } else if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2287: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest ); - } - grammarID = 2288; - } else if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2288: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->DisplayParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters ); - } - grammarID = 2289; - } else if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2289: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower ); - } - grammarID = 2290; - } else if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2290: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent ); - } - grammarID = 2291; - } else if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2291: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ - if ( iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { - int grammarID = 2292; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2292: - /* 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, iso2CertificateInstallationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2293; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2293: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( iso2CertificateInstallationResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2CertificateInstallationResType->EVSEStatus ); - } - grammarID = 2294; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 2295; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2294: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain ); - } - grammarID = 2295; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2295: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->ContractSignatureCertChain ); - } - grammarID = 2296; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2296: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateInstallationResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 2297; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2297: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateInstallationResType->DHpublickey ); - } - grammarID = 2298; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2298: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &iso2CertificateInstallationResType->eMAID ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType) { - int grammarID = 2299; - int done = 0; - - unsigned int iso2SensorPackageType_SensorMeasurements_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2299: - /* 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, iso2SensorPackageType->PackageIndex); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2300; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2300: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2301; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2301: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2302; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2302: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2303; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2303: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2304; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2304: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2305; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2305: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2306; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2306: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2307; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2307: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2308; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2308: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2309; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2309: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2310; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2310: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2311; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2311: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2312; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2312: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2313; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2313: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2314; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2314: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2315; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2315: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2316; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2316: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2317; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2317: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2318; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2318: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2319; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2319: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2320; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2320: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2321; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2321: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2322; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2322: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2323; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2323: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2324; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2324: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2325; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2325: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2326; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2326: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2327; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2327: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2328; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2328: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2329; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2329: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2330; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2330: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2331; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2331: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2332; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2332: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2333; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2333: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2334; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2334: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2335; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2335: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2336; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2336: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2337; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2337: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2338; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2338: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2339; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2339: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2340; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2340: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2341; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2341: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2342; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2342: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2343; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2343: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2344; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2344: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2345; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2345: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2346; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2346: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2347; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2347: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2348; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2348: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2349; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2349: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2350; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2350: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2351; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2351: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2352; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2352: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2353; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2353: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2354; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2354: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2355; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2355: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2356; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2356: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2357; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2357: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2358; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2358: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2359; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2359: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2360; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2360: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2361; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2361: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2362; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2362: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2363; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2363: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2364; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2364: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2365; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2365: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2366; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2366: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2367; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2367: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2368; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2368: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2369; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2369: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2370; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2370: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2371; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2371: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2372; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2372: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2373; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2373: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2374; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2374: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2375; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2375: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2376; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2376: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2377; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2377: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2378; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2378: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2379; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2379: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2380; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2380: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2381; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2381: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2382; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2382: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2383; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2383: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2384; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2384: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2385; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2385: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2386; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2386: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2387; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2387: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2388; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2388: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2389; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2389: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2390; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2390: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2391; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2391: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2392; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2392: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2393; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2393: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2394; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2394: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2395; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2395: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2396; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2396: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2397; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2397: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2398; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2398: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2399; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2399: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2400; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2400: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2401; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2401: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2402; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2402: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2403; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2403: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2404; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2404: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2405; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2405: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2406; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2406: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2407; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2407: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2408; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2408: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2409; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2409: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2410; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2410: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2411; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2411: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2412; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2412: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2413; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2413: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2414; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2414: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2415; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2415: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2416; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2416: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2417; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2417: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2418; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2418: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2419; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2419: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2420; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2420: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2421; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2421: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2422; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2422: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2423; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2423: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2424; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2424: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2425; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2425: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2426; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2426: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2427; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2427: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2428; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2428: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2429; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2429: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2430; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2430: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2431; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2431: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2432; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2432: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2433; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2433: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2434; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2434: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2435; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2435: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2436; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2436: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2437; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2437: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2438; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2438: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2439; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2439: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2440; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2440: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2441; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2441: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2442; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2442: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2443; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2443: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2444; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2444: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2445; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2445: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2446; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2446: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2447; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2447: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2448; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2448: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2449; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2449: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2450; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2450: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2451; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2451: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2452; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2452: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2453; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2453: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2454; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2454: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2455; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2455: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2456; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2456: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2457; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2457: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2458; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2458: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2459; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2459: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2460; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2460: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2461; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2461: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2462; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2462: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2463; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2463: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2464; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2464: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2465; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2465: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2466; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2466: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2467; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2467: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2468; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2468: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2469; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2469: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2470; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2470: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2471; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2471: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2472; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2472: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2473; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2473: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2474; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2474: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2475; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2475: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2476; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2476: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2477; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2477: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2478; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2478: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2479; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2479: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2480; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2480: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2481; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2481: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2482; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2482: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2483; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2483: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2484; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2484: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2485; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2485: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2486; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2486: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2487; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2487: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2488; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2488: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2489; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2489: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2490; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2490: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2491; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2491: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2492; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2492: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2493; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2493: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2494; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2494: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2495; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2495: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2496; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2496: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2497; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2497: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2498; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2498: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2499; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2499: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2500; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2500: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2501; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2501: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2502; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2502: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2503; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2503: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2504; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2504: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2505; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2505: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2506; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2506: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2507; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2507: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2508; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2508: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2509; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2509: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2510; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2510: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2511; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2511: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2512; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2512: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2513; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2513: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2514; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2514: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2515; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2515: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2516; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2516: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2517; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2517: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2518; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2518: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2519; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2519: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2520; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2520: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2521; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2521: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2522; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2522: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2523; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2523: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2524; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2524: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2525; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2525: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2526; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2526: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2527; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2527: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2528; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2528: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2529; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2529: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2530; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2530: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2531; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2531: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2532; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2532: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2533; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2533: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2534; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2534: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2535; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2535: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2536; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2536: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2537; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2537: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2538; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2538: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2539; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2539: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2540; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2540: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2541; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2541: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2542; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2542: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2543; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2543: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2544; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2544: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2545; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2545: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2546; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2546: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2547; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2547: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2548; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2548: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2549; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2549: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2550; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2550: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2551; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2551: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2552; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2552: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2553; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2553: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 2554; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2554: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ - if (iso2SensorPackageType_SensorMeasurements_currArrayIndex < iso2SensorPackageType->SensorMeasurements.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array [iso2SensorPackageType_SensorMeasurements_currArrayIndex++]); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType) { - int grammarID = 2555; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 2555: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyID.bytes, iso2PGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2556; - } else if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytes, iso2PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2557; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2556: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( iso2PGPDataType->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)(iso2PGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytes, iso2PGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2557; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2557; - } else if ( iso2PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2557: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2557; - } else if ( iso2PGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { - int grammarID = 2558; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2558: - /* 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, iso2ServiceDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2559; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2559: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - if ( iso2ServiceDiscoveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ServiceDiscoveryResType->EVSEStatus ); - } - grammarID = 2560; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 2561; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2560: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 2561; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2561: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->EnergyTransferServiceList ); - } - grammarID = 2562; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2562: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ - if ( iso2ServiceDiscoveryResType->VASList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->VASList ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType) { - int grammarID = 2563; - int done = 0; - - unsigned int iso2ServiceIDListType_ServiceID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2563: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2564; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2564: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2565; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2565: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2566; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2566: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2567; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2567: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2568; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2568: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2569; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2569: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2570; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2570: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2571; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2571: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2572; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2572: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ - if (iso2ServiceIDListType_ServiceID_currArrayIndex < iso2ServiceIDListType->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, iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType_ServiceID_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { - int grammarID = 2573; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2573: - /* 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, iso2ChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2574; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2574: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ - if ( iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2ChargeParameterDiscoveryResType->EVSEStatus ); - } - grammarID = 2575; - } 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, iso2ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2575: - /* 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, iso2ChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2576; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2576: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &iso2ChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 2577; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2577: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ - if ( iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); - } - grammarID = 3; - } else if ( iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType) { - int grammarID = 2578; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2578: - /* 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, iso2PowerDemandResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2579; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2579: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - if ( iso2PowerDemandResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PowerDemandResType->EVSEStatus ); - } - grammarID = 2580; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower ); - } - grammarID = 2581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2580: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower ); - } - grammarID = 2581; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2581: - /* 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)(iso2PowerDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2PowerDemandResType->EVSEID.characters, iso2PowerDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2582; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2582: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->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)(iso2PowerDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2583; - } else if ( iso2PowerDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo ); - } - grammarID = 2584; - } else if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2583: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo ); - } - grammarID = 2584; - } else if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2584: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->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, iso2PowerDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 1873; - } else if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1873: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ - if ( iso2PowerDemandResType->PowerDemandParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType) { - int grammarID = 2585; - int done = 0; - - unsigned int iso2ChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2585: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ - if (iso2ChargingProfileType_ProfileEntry_currArrayIndex < iso2ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array [iso2ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 2586; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2586: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (iso2ChargingProfileType_ProfileEntry_currArrayIndex < iso2ChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array [iso2ChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 2586; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,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_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType) { - int grammarID = 2587; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2587: - /* 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, iso2FinePositioningReqType->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2588; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2588: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), END_ELEMENT] */ - if ( iso2FinePositioningReqType->EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->EVFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_iso2Generic_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->Generic_EVFinePositioningParameters ); - } - grammarID = 3; - } else if ( iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->LFA_EVFinePositioningParameters ); - } - grammarID = 3; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType) { - int grammarID = 2589; - int done = 0; - - unsigned int iso2SalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2589: - /* 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)(iso2SalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SalesTariffType->Id.characters, iso2SalesTariffType->Id.charactersLen); - } - } - grammarID = 2590; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2590: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2016: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)(iso2SalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2591; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2591: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if ( iso2SalesTariffType->SalesTariffDescription_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)(iso2SalesTariffType->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SalesTariffType->SalesTariffDescription.characters, iso2SalesTariffType->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2592; - } else if ( iso2SalesTariffType->NumEPriceLevels_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(iso2SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2593; - } else if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2592: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if ( iso2SalesTariffType->NumEPriceLevels_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)(iso2SalesTariffType->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2593; - } else if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2593: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ - if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2594: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ - if (iso2SalesTariffType_SalesTariffEntry_currArrayIndex < iso2SalesTariffType->SalesTariffEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array [iso2SalesTariffType_SalesTariffEntry_currArrayIndex++]); - } - grammarID = 2594; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType) { - int grammarID = 2595; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2595: - /* 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)(iso2SensorType->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2596; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2596: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorPosition ); - } - grammarID = 2597; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2597: - /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorOrientation ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType) { - int grammarID = 2598; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2598: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( iso2SignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignatureValueType->Id.characters, iso2SignatureValueType->Id.charactersLen); - } - } - grammarID = 2016; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SignatureValueType->CONTENT.bytes, iso2SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2SignatureValueType->CONTENT.bytes, iso2SignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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#,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_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType) { - int grammarID = 2599; - int done = 0; - - unsigned int iso2SignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 2599: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( iso2SignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2SignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2SignedInfoType->Id.characters, iso2SignedInfoType->Id.charactersLen); - } - } - grammarID = 2600; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod ); - } - grammarID = 2601; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2600: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod ); - } - grammarID = 2601; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2601: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &iso2SignedInfoType->SignatureMethod ); - } - grammarID = 2602; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2602: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (iso2SignedInfoType_Reference_currArrayIndex < iso2SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array [iso2SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1964: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (iso2SignedInfoType_Reference_currArrayIndex < iso2SignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array [iso2SignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 1964; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { - 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, iso2PowerDeliveryResType->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 ( iso2PowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &iso2PowerDeliveryResType->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, iso2PowerDeliveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 7: - /* 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, iso2PowerDeliveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType) { - int grammarID = 674; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 674: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType) { - int grammarID = 2603; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2603: - /* 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, iso2SelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2604; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2604: - /* 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, iso2SelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { - int grammarID = 2015; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2015: - /* 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)(iso2DiffieHellmanPublickeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, iso2DiffieHellmanPublickeyType->Id.characters, iso2DiffieHellmanPublickeyType->Id.charactersLen); - } - } - grammarID = 2016; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2016: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(iso2DiffieHellmanPublickeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, iso2DiffieHellmanPublickeyType->CONTENT.bytes, iso2DiffieHellmanPublickeyType->CONTENT.bytesLen); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } 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_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType) { - int grammarID = 2605; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 2605: - /* 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, iso2EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2606; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2606: - /* 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, iso2EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 4; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - 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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter ); - } - } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter ); - } - } 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_iso2AlignmentCheckReqType(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_iso2AlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes ); - } - } else if ( exiDoc->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &exiDoc->AuthorizationReq ); - } - } else if ( exiDoc->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &exiDoc->AuthorizationRes ); - } - } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiDoc->BodyElement ); - } - } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); - if(errn == 0) { - errn = encode_iso2CableCheckReqType(stream, &exiDoc->CableCheckReq ); - } - } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &exiDoc->CableCheckRes ); - } - } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); - } - } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); - } - } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); - } - } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); - } - } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); - } - } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); - } - } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 20); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); - } - } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(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_iso2ConnectChargingDeviceReqType(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_iso2ConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes ); - } - } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 24); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); - } - } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(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_iso2DC_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_iso2DC_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_iso2DC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter ); - } - } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter ); - } - } 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_iso2DC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter ); - } - } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter ); - } - } else if ( exiDoc->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq ); - } - } 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_iso2DisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes ); - } - } 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_iso2EVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter ); - } - } else if ( exiDoc->EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters ); - } - } else if ( exiDoc->EVFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters ); - } - } else if ( exiDoc->EVSEEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter ); - } - } else if ( exiDoc->EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters ); - } - } else if ( exiDoc->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters ); - } - } else if ( exiDoc->FinePositioningReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &exiDoc->FinePositioningReq ); - } - } else if ( exiDoc->FinePositioningRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &exiDoc->FinePositioningRes ); - } - } else if ( exiDoc->FinePositioningSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq ); - } - } else if ( exiDoc->FinePositioningSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes ); - } - } else if ( exiDoc->Generic_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); - if(errn == 0) { - errn = encode_iso2Generic_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, 48); - if(errn == 0) { - errn = encode_iso2Generic_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, 49); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); - 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->LFA_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); - if(errn == 0) { - errn = encode_iso2LFA_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, 53); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters ); - } - } else if ( exiDoc->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiDoc->LFA_EVSEFinePositioningParameters ); - } - } else if ( exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters ); - } - } else if ( exiDoc->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 7, 56); - if(errn == 0) { - errn = encode_iso2MV_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, 57); - if(errn == 0) { - errn = encode_iso2MV_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, 58); - if(errn == 0) { - errn = encode_iso2ManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); - } - } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); - } - } else if ( exiDoc->PairingReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &exiDoc->PairingReq ); - } - } else if ( exiDoc->PairingRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &exiDoc->PairingRes ); - } - } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); - } - } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); - } - } else if ( exiDoc->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq ); - } - } else if ( exiDoc->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes ); - } - } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); - } - } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); - } - } else if ( exiDoc->PowerDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &exiDoc->PowerDemandReq ); - } - } else if ( exiDoc->PowerDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &exiDoc->PowerDemandRes ); - } - } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &exiDoc->PreChargeReq ); - } - } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &exiDoc->PreChargeRes ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 77); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 80); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 81); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiDoc->SAScheduleList ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 82); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 83); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); - } - } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 84); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); - } - } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 85); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); - } - } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 86); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); - } - } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 87); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); - } - } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 88); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &exiDoc->SessionSetupReq ); - } - } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 89); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &exiDoc->SessionSetupRes ); - } - } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 90); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &exiDoc->SessionStopReq ); - } - } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 91); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &exiDoc->SessionStopRes ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 92); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 93); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 94); - if(errn == 0) { - errn = encode_iso2SignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 95); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 96); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 97); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->SystemStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 98); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &exiDoc->SystemStatusReq ); - } - } else if ( exiDoc->SystemStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 99); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &exiDoc->SystemStatusRes ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 100); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 101); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->V2GRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 102); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiDoc->V2GRequest ); - } - } else if ( exiDoc->V2GResponse_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = encodeNBitUnsignedInteger(stream, 7, 103); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &exiDoc->V2GResponse ); - } - } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 104); - if(errn == 0) { - errn = encode_iso2AnonType_V2G_Message(stream, &exiDoc->V2G_Message ); - } - } else if ( exiDoc->VehicleCheckInReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 105); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq ); - } - } else if ( exiDoc->VehicleCheckInRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 106); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes ); - } - } else if ( exiDoc->VehicleCheckOutReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 107); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq ); - } - } else if ( exiDoc->VehicleCheckOutRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 108); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes ); - } - } else if ( exiDoc->WPT_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 109); - if(errn == 0) { - errn = encode_iso2WPT_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, 110); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter ); - } - } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 111); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); - } - } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 112); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 113); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - 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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_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_iso2AC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter ); - } - } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 5); - if(errn == 0) { - errn = encode_iso2AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); - } - } else if ( exiFrag->AlignmentCheckParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 6); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->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_iso2AlignmentCheckReqType(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_iso2AlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes ); - } - } else if ( exiFrag->AlignmentOffset_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ - errn = encodeNBitUnsignedInteger(stream, 9, 9); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->AlignmentOffset); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2PhysicalValueType(stream, &exiFrag->AngleGAtoVA ); - } - } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 11); - if(errn == 0) { - errn = encode_iso2AuthorizationReqType(stream, &exiFrag->AuthorizationReq ); - } - } else if ( exiFrag->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 12); - if(errn == 0) { - errn = encode_iso2AuthorizationResType(stream, &exiFrag->AuthorizationRes ); - } - } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 9, 13); - if(errn == 0) { - errn = encode_iso2BodyType(stream, &exiFrag->Body ); - } - } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 9, 14); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiFrag->BodyElement ); - } - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 9, 15); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 16); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2SalesTariffType(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_iso2CableCheckReqType(stream, &exiFrag->CableCheckReq ); - } - } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 19); - if(errn == 0) { - errn = encode_iso2CableCheckResType(stream, &exiFrag->CableCheckRes ); - } - } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 20); - if(errn == 0) { - errn = encode_iso2CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 21); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 22); - if(errn == 0) { - errn = encode_iso2CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); - } - } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 23); - if(errn == 0) { - errn = encode_iso2CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); - } - } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 24); - if(errn == 0) { - errn = encode_iso2CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); - } - } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 25); - if(errn == 0) { - errn = encode_iso2CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); - } - } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 26); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); - } - } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 27); - if(errn == 0) { - errn = encode_iso2ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); - } - } else if ( exiFrag->ChargeProgress_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ - errn = encodeNBitUnsignedInteger(stream, 9, 29); - if(errn == 0) { - /* 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_iso2PhysicalValueType(stream, &exiFrag->ChargingPerformance ); - } - } else if ( exiFrag->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 9, 31); - if(errn == 0) { - errn = encode_iso2ChargingProfileType(stream, &exiFrag->ChargingProfile ); - } - } else if ( exiFrag->ChargingSession_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 33); - if(errn == 0) { - errn = encode_iso2ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); - } - } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 34); - if(errn == 0) { - errn = encode_iso2ChargingStatusResType(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_iso2ConnectChargingDeviceReqType(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_iso2ConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes ); - } - } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 9, 38); - if(errn == 0) { - errn = encode_iso2ConsumptionCostType(stream, &exiFrag->ConsumptionCost ); - } - } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ - errn = encodeNBitUnsignedInteger(stream, 9, 39); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &exiFrag->ContractSignatureCertChain ); - } - } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ - errn = encodeNBitUnsignedInteger(stream, 9, 40); - if(errn == 0) { - errn = encode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey ); - } - } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 9, 41); - if(errn == 0) { - errn = encode_iso2CostType(stream, &exiFrag->Cost ); - } - } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 42); - if(errn == 0) { - errn = encode_iso2CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); - } - } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 43); - if(errn == 0) { - errn = encode_iso2CurrentDemandResType(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 = encodeNBitUnsignedInteger(stream, 9, 45); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->CurrentSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DC_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_iso2DC_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_iso2DC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter ); - } - } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 49); - if(errn == 0) { - errn = encode_iso2DC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter ); - } - } 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_iso2DC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter ); - } - } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 51); - if(errn == 0) { - errn = encode_iso2DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); - } - } else if ( exiFrag->DHpublickey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ - errn = encodeNBitUnsignedInteger(stream, 9, 52); - if(errn == 0) { - errn = encode_iso2DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 53); - if(errn == 0) { - errn = encode_iso2DSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 55); - if(errn == 0) { - errn = encode_iso2DigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 56); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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_iso2DisconnectChargingDeviceReqType(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_iso2DisconnectChargingDeviceResType(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_iso2DisplayParametersType(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) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->Distance); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* 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); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->EVCCID.bytes, exiFrag->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } 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, 2, exiFrag->EVCheckInStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVCheckOutStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 64); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVCheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVElectricalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 65); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 66); - if(errn == 0) { - errn = encode_iso2EVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter ); - } - } else if ( exiFrag->EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 67); - if(errn == 0) { - errn = encode_iso2EVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters ); - } - } else if ( exiFrag->EVFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 68); - if(errn == 0) { - errn = encode_iso2EVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters ); - } - } else if ( exiFrag->EVInputPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 69); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVInputPower ); - } - } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 70); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent ); - } - } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 71); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent ); - } - } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 72); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower ); - } - } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 73); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower ); - } - } else if ( exiFrag->EVMaximumCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 74); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumCurrent ); - } - } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 75); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 76); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 77); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower ); - } - } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 78); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower ); - } - } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 79); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest ); - } - } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 80); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest ); - } - } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 81); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower ); - } - } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 82); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower ); - } - } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 83); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage ); - } - } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 84); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage ); - } - } else if ( exiFrag->EVMechanicalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 85); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 86); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent ); - } - } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 87); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent ); - } - } else if ( exiFrag->EVMinimumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 88); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargePower ); - } - } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 89); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 90); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVMinimumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 91); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargePower ); - } - } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 92); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest ); - } - } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 93); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest ); - } - } else if ( exiFrag->EVMinimumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 94); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumPower ); - } - } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 95); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage ); - } - } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 96); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage ); - } - } else if ( exiFrag->EVOperation_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ - errn = encodeNBitUnsignedInteger(stream, 9, 97); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVOperation); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVPresentActivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 98); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVPresentActivePower ); - } - } else if ( exiFrag->EVPresentReactivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 99); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVPresentReactivePower ); - } - } else if ( exiFrag->EVProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 9, 100); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSECheckOutStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 101); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSECheckOutStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSECurrentLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 102); - 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); - } - } - } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 9, 103); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); - } - } else if ( exiFrag->EVSEElectricalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 104); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSEElectricalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 9, 105); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); - } - } else if ( exiFrag->EVSEEnergyTransferParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 106); - if(errn == 0) { - errn = encode_iso2EVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter ); - } - } else if ( exiFrag->EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 107); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters ); - } - } else if ( exiFrag->EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 108); - if(errn == 0) { - errn = encode_iso2EVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 109); - 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->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->EVSEID.characters, exiFrag->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 110); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 111); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 112); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower ); - } - } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 113); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower ); - } - } else if ( exiFrag->EVSEMaximumCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 114); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 115); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 116); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 117); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower ); - } - } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 118); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower ); - } - } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 119); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower ); - } - } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 120); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower ); - } - } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 121); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage ); - } - } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 122); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage ); - } - } else if ( exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 123); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEMechanicalChargingDeviceStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEMinimumChargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 124); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent ); - } - } else if ( exiFrag->EVSEMinimumDischargeCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 125); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent ); - } - } else if ( exiFrag->EVSEMinimumPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 126); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumPower ); - } - } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 127); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage ); - } - } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 128); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage ); - } - } else if ( exiFrag->EVSENominalFrequency_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ - errn = encodeNBitUnsignedInteger(stream, 9, 129); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalFrequency ); - } - } else if ( exiFrag->EVSENominalVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 130); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalVoltage ); - } - } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 9, 131); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 132); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEOutputPower ); - } - } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 9, 133); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple ); - } - } else if ( exiFrag->EVSEPowerLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 134); - 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); - } - } - } else if ( exiFrag->EVSEPresentCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 135); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } - } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 136); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage ); - } - } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ - errn = encodeNBitUnsignedInteger(stream, 9, 137); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 138); - if(errn == 0) { - errn = encode_iso2EVSEStatusType(stream, &exiFrag->EVSEStatus ); - } - } else if ( exiFrag->EVSETargetPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 139); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetPower ); - } - } else if ( exiFrag->EVSETargetReactivePower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 140); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetReactivePower ); - } - } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ - errn = encodeNBitUnsignedInteger(stream, 9, 141); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 9, 142); - 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->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 9, 143); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetCurrent ); - } - } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 144); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest ); - } - } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 145); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest ); - } - } else if ( exiFrag->EVTargetPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 146); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetPower ); - } - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 147); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->EVTargetVoltage ); - } - } else if ( exiFrag->EffectiveRadiatedPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ - errn = encodeNBitUnsignedInteger(stream, 9, 148); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EffectiveRadiatedPower + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EnergyTransferServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 149); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &exiFrag->EnergyTransferServiceList ); - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - 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, 152); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FODStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FinePositioningReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 153); - if(errn == 0) { - errn = encode_iso2FinePositioningReqType(stream, &exiFrag->FinePositioningReq ); - } - } else if ( exiFrag->FinePositioningRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 154); - if(errn == 0) { - errn = encode_iso2FinePositioningResType(stream, &exiFrag->FinePositioningRes ); - } - } else if ( exiFrag->FinePositioningSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 155); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq ); - } - } else if ( exiFrag->FinePositioningSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 156); - if(errn == 0) { - errn = encode_iso2FinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes ); - } - } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 157); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FrequencyChannel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ - errn = encodeNBitUnsignedInteger(stream, 9, 158); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->FrequencyChannel); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 9, 159); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 160); - 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->GAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->GAID.characters, exiFrag->GAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ - errn = encodeNBitUnsignedInteger(stream, 9, 161); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->GenChallenge.bytes, exiFrag->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->GenericParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 162); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->GenericParameters ); - } - } else if ( exiFrag->Generic_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 163); - if(errn == 0) { - errn = encode_iso2Generic_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, 164); - if(errn == 0) { - errn = encode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters ); - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 9, 165); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 9, 166); - if(errn == 0) { - errn = encode_iso2MessageHeaderType(stream, &exiFrag->Header ); - } - } else if ( exiFrag->InletHot_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ - errn = encodeNBitUnsignedInteger(stream, 9, 167); - 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, 9, 168); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 169); - if(errn == 0) { - errn = encode_iso2KeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 170); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 171); - if(errn == 0) { - errn = encode_iso2KeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->LFA_EVFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 172); - if(errn == 0) { - errn = encode_iso2LFA_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, 173); - if(errn == 0) { - errn = encode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters ); - } - } else if ( exiFrag->LFA_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 174); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiFrag->LFA_EVSEFinePositioningParameters ); - } - } else if ( exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 175); - if(errn == 0) { - errn = encode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ - errn = encodeNBitUnsignedInteger(stream, 9, 176); - if(errn == 0) { - errn = encode_iso2ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs ); - } - } else if ( exiFrag->MV_EVSEFinePositioningParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 177); - if(errn == 0) { - errn = encode_iso2MV_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, 178); - if(errn == 0) { - errn = encode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters ); - } - } else if ( exiFrag->MagneticVector_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ - errn = encodeNBitUnsignedInteger(stream, 9, 179); - if(errn == 0) { - errn = encode_iso2MagneticVectorType(stream, &exiFrag->MagneticVector ); - } - } else if ( exiFrag->MagneticVectorList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 180); - if(errn == 0) { - errn = encode_iso2MagneticVectorListType(stream, &exiFrag->MagneticVectorList ); - } - } else if ( exiFrag->MagneticVectorSetup_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ - errn = encodeNBitUnsignedInteger(stream, 9, 181); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup ); - } - } else if ( exiFrag->MagneticVectorSetupList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 182); - if(errn == 0) { - errn = encode_iso2MagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 183); - if(errn == 0) { - errn = encode_iso2ManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MaxSupportingPoints_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ - errn = encodeNBitUnsignedInteger(stream, 9, 184); - 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, 185); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->MeasurementData); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeasurementDataList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 186); - if(errn == 0) { - errn = encode_iso2MeasurementDataListType(stream, &exiFrag->MeasurementDataList ); - } - } else if ( exiFrag->MeterID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 187); - 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->MeterID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MeterID.characters, exiFrag->MeterID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 188); - if(errn == 0) { - errn = encode_iso2MeterInfoType(stream, &exiFrag->MeterInfo ); - } - } else if ( exiFrag->MeterReadingCharged_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ - errn = encodeNBitUnsignedInteger(stream, 9, 189); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 190); - 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:2016:MsgDataTypes}MeterStatus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 191); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->MeterStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 192); - if(errn == 0) { - errn = encode_iso2MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); - } - } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 193); - if(errn == 0) { - errn = encode_iso2MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 194); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->MinimumPMaxRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 195); - if(errn == 0) { - errn = encode_iso2MinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest ); - } - } else if ( exiFrag->MinimumPMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 196); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry ); - } - } else if ( exiFrag->MinimumSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 197); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->MinimumSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 9, 198); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 9, 199); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 9, 200); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumEPriceLevels - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumberOfSensors_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ - errn = encodeNBitUnsignedInteger(stream, 9, 201); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumberOfSensors - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->NumberOfSignalPackages_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ - errn = encodeNBitUnsignedInteger(stream, 9, 202); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->NumberOfSignalPackages - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 9, 203); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->OEMProvisioningCert.bytes, exiFrag->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 9, 204); - if(errn == 0) { - errn = encode_iso2ObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->OperationMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ - errn = encodeNBitUnsignedInteger(stream, 9, 205); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->OperationMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 9, 206); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 207); - if(errn == 0) { - errn = encode_iso2PGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 208); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = encodeNBitUnsignedInteger(stream, 9, 209); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 9, 210); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->PMax ); - } - } else if ( exiFrag->PMaxDischargeSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 9, 211); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule ); - } - } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 9, 212); - if(errn == 0) { - errn = encode_iso2PMaxScheduleType(stream, &exiFrag->PMaxSchedule ); - } - } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 213); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); - } - } else if ( exiFrag->PackageIndex_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ - errn = encodeNBitUnsignedInteger(stream, 9, 214); - 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 = encodeNBitUnsignedInteger(stream, 9, 215); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->PackageSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PairingParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 216); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->PairingParameters ); - } - } else if ( exiFrag->PairingReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 217); - if(errn == 0) { - errn = encode_iso2PairingReqType(stream, &exiFrag->PairingReq ); - } - } else if ( exiFrag->PairingRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 218); - if(errn == 0) { - errn = encode_iso2PairingResType(stream, &exiFrag->PairingRes ); - } - } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 219); - if(errn == 0) { - errn = encode_iso2ParameterType(stream, &exiFrag->Parameter ); - } - } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 9, 220); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->ParameterSet ); - } - } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 221); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ParkingMethod_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 222); - 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:2016:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 223); - if(errn == 0) { - errn = encode_iso2PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); - } - } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 224); - if(errn == 0) { - errn = encode_iso2PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); - } - } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 9, 225); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->PaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PaymentOptionList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 226); - if(errn == 0) { - errn = encode_iso2PaymentOptionListType(stream, &exiFrag->PaymentOptionList ); - } - } else if ( exiFrag->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 227); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq ); - } - } else if ( exiFrag->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 228); - if(errn == 0) { - errn = encode_iso2PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes ); - } - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 229); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 230); - if(errn == 0) { - errn = encode_iso2PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); - } - } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 231); - if(errn == 0) { - errn = encode_iso2PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); - } - } else if ( exiFrag->PowerDemandParameters_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ - errn = encodeNBitUnsignedInteger(stream, 9, 232); - if(errn == 0) { - errn = encode_iso2ParameterSetType(stream, &exiFrag->PowerDemandParameters ); - } - } else if ( exiFrag->PowerDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 233); - if(errn == 0) { - errn = encode_iso2PowerDemandReqType(stream, &exiFrag->PowerDemandReq ); - } - } else if ( exiFrag->PowerDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 234); - if(errn == 0) { - errn = encode_iso2PowerDemandResType(stream, &exiFrag->PowerDemandRes ); - } - } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 235); - if(errn == 0) { - errn = encode_iso2PreChargeReqType(stream, &exiFrag->PreChargeReq ); - } - } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 236); - if(errn == 0) { - errn = encode_iso2PreChargeResType(stream, &exiFrag->PreChargeRes ); - } - } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 237); - if(errn == 0) { - errn = encode_iso2PMaxScheduleEntryType(stream, &exiFrag->ProfileEntry ); - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 9, 238); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* 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, 9, 239); - if(errn == 0) { - errn = encode_iso2RSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ - errn = encodeNBitUnsignedInteger(stream, 9, 240); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 9, 241); - if(errn == 0) { - errn = encode_iso2ReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 9, 242); - if(errn == 0) { - errn = encode_iso2RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval ); - } - } else if ( exiFrag->RemainingTimeToBulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 9, 243); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 244); - 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, 245); - 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:2016:MsgBody}ResponseCode) */ - errn = encodeNBitUnsignedInteger(stream, 9, 246); - 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, 9, 247); - if(errn == 0) { - errn = encode_iso2RetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 248); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 249); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &exiFrag->RootCertificateID ); - } - } else if ( exiFrag->RotationVAtoGA_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ - errn = encodeNBitUnsignedInteger(stream, 9, 250); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->RotationVAtoGA ); - } - } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ - errn = encodeNBitUnsignedInteger(stream, 9, 251); - if(errn == 0) { - errn = encode_iso2CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain ); - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 252); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 253); - if(errn == 0) { - errn = encode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList ); - } - } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 9, 254); - if(errn == 0) { - errn = encode_iso2SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 255); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 256); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 9, 257); - if(errn == 0) { - errn = encode_iso2SPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 9, 258); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 9, 259); - if(errn == 0) { - errn = encode_iso2SalesTariffType(stream, &exiFrag->SalesTariff ); - } - } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 9, 260); - 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->SalesTariffDescription.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->SalesTariffDescription.characters, exiFrag->SalesTariffDescription.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 9, 261); - if(errn == 0) { - errn = encode_iso2SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); - } - } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 262); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 9, 263); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedEnergyTransferService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 264); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService ); - } - } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 9, 265); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 9, 266); - if(errn == 0) { - errn = encode_iso2SelectedServiceType(stream, &exiFrag->SelectedService ); - } - } else if ( exiFrag->SelectedVASList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 267); - if(errn == 0) { - errn = encode_iso2SelectedServiceListType(stream, &exiFrag->SelectedVASList ); - } - } else if ( exiFrag->Sensor_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ - errn = encodeNBitUnsignedInteger(stream, 9, 268); - if(errn == 0) { - errn = encode_iso2SensorType(stream, &exiFrag->Sensor ); - } - } else if ( exiFrag->SensorID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 269); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SensorID - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SensorList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 270); - if(errn == 0) { - errn = encode_iso2SensorListType(stream, &exiFrag->SensorList ); - } - } else if ( exiFrag->SensorMeasurements_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ - errn = encodeNBitUnsignedInteger(stream, 9, 271); - if(errn == 0) { - errn = encode_iso2SensorMeasurementsType(stream, &exiFrag->SensorMeasurements ); - } - } else if ( exiFrag->SensorOrder_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ - errn = encodeNBitUnsignedInteger(stream, 9, 272); - if(errn == 0) { - errn = encode_iso2SensorOrderListType(stream, &exiFrag->SensorOrder ); - } - } else if ( exiFrag->SensorOrientation_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ - errn = encodeNBitUnsignedInteger(stream, 9, 273); - if(errn == 0) { - errn = encode_iso2CartesianCoordinatesType(stream, &exiFrag->SensorOrientation ); - } - } else if ( exiFrag->SensorPackage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ - errn = encodeNBitUnsignedInteger(stream, 9, 274); - if(errn == 0) { - errn = encode_iso2SensorPackageType(stream, &exiFrag->SensorPackage ); - } - } else if ( exiFrag->SensorPackageList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 275); - if(errn == 0) { - errn = encode_iso2SensorPackageListType(stream, &exiFrag->SensorPackageList ); - } - } else if ( exiFrag->SensorPosition_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPosition */ - } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 9, 277); - if(errn == 0) { - errn = encode_iso2ServiceType(stream, &exiFrag->Service ); - } - } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 278); - if(errn == 0) { - errn = encode_iso2ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); - } - } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 279); - if(errn == 0) { - errn = encode_iso2ServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); - } - } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 280); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); - } - } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 281); - if(errn == 0) { - errn = encode_iso2ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 282); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 283); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ServiceParameterList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ - errn = encodeNBitUnsignedInteger(stream, 9, 284); - if(errn == 0) { - errn = encode_iso2ServiceParameterListType(stream, &exiFrag->ServiceParameterList ); - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 285); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 286); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 287); - if(errn == 0) { - errn = encode_iso2SessionSetupReqType(stream, &exiFrag->SessionSetupReq ); - } - } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 288); - if(errn == 0) { - errn = encode_iso2SessionSetupResType(stream, &exiFrag->SessionSetupRes ); - } - } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 289); - if(errn == 0) { - errn = encode_iso2SessionStopReqType(stream, &exiFrag->SessionStopReq ); - } - } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 290); - if(errn == 0) { - errn = encode_iso2SessionStopResType(stream, &exiFrag->SessionStopRes ); - } - } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 9, 291); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SigMeterReading.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SigMeterReading.bytes, exiFrag->SigMeterReading.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SignalFrequency_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ - errn = encodeNBitUnsignedInteger(stream, 9, 292); - 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 = encodeNBitUnsignedInteger(stream, 9, 293); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SignalPulseDuration - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->SignalSeparationTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ - errn = encodeNBitUnsignedInteger(stream, 9, 294); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SignalSeparationTime - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 9, 295); - if(errn == 0) { - errn = encode_iso2SignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 9, 296); - if(errn == 0) { - errn = encode_iso2SignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 9, 297); - if(errn == 0) { - errn = encode_iso2SignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 9, 298); - if(errn == 0) { - errn = encode_iso2SignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 299); - if(errn == 0) { - errn = encode_iso2SignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 9, 300); - if(errn == 0) { - errn = encode_iso2SignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 9, 301); - if(errn == 0) { - errn = encode_iso2SubCertificatesType(stream, &exiFrag->SubCertificates ); - } - } else if ( exiFrag->SupportedServiceIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ - errn = encodeNBitUnsignedInteger(stream, 9, 302); - if(errn == 0) { - errn = encode_iso2ServiceIDListType(stream, &exiFrag->SupportedServiceIDs ); - } - } else if ( exiFrag->SystemStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 303); - if(errn == 0) { - errn = encode_iso2SystemStatusReqType(stream, &exiFrag->SystemStatusReq ); - } - } else if ( exiFrag->SystemStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 304); - if(errn == 0) { - errn = encode_iso2SystemStatusResType(stream, &exiFrag->SystemStatusRes ); - } - } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 9, 305); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->TMeter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->TargetOffset_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ - errn = encodeNBitUnsignedInteger(stream, 9, 306); - if(errn == 0) { - errn = encode_iso2TargetPositionType(stream, &exiFrag->TargetOffset ); - } - } else if ( exiFrag->TargetOffsetX_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ - errn = encodeNBitUnsignedInteger(stream, 9, 307); - 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, 308); - 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 = encodeNBitUnsignedInteger(stream, 9, 309); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->TargetSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 9, 310); - if(errn == 0) { - errn = encode_iso2TransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 9, 311); - if(errn == 0) { - errn = encode_iso2TransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->V2GRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ - errn = encodeNBitUnsignedInteger(stream, 9, 312); - if(errn == 0) { - errn = encode_iso2BodyBaseType(stream, &exiFrag->V2GRequest ); - } - } else if ( exiFrag->V2GResponse_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ - errn = encodeNBitUnsignedInteger(stream, 9, 313); - if(errn == 0) { - errn = encode_iso2V2GResponseType(stream, &exiFrag->V2GResponse ); - } - } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 9, 314); - if(errn == 0) { - errn = encode_iso2AnonType_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, 315); - if(errn == 0) { - errn = encode_iso2ServiceListType(stream, &exiFrag->VASList ); - } - } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 9, 316); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->VehicleCheckInReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 317); - if(errn == 0) { - errn = encode_iso2VehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq ); - } - } else if ( exiFrag->VehicleCheckInRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 318); - if(errn == 0) { - errn = encode_iso2VehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes ); - } - } else if ( exiFrag->VehicleCheckOutReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 319); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq ); - } - } else if ( exiFrag->VehicleCheckOutRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 320); - if(errn == 0) { - errn = encode_iso2VehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes ); - } - } else if ( exiFrag->VehicleSpace_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ - errn = encodeNBitUnsignedInteger(stream, 9, 321); - 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, 322); - if(errn == 0) { - errn = encode_iso2WPT_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, 323); - if(errn == 0) { - errn = encode_iso2WPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter ); - } - } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 9, 324); - if(errn == 0) { - errn = encode_iso2WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); - } - } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 9, 325); - if(errn == 0) { - errn = encode_iso2WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 9, 326); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 327); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 9, 328); - if(errn == 0) { - errn = encode_iso2X509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 329); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 9, 330); - if(errn == 0) { - errn = encode_iso2X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 9, 331); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 9, 332); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 9, 333); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->XCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 334); - 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, 9, 335); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 9, 336); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->YCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ - 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->YCoordinate); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ZCoordinate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ - errn = encodeNBitUnsignedInteger(stream, 9, 338); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - 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, 339); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->amount ); - } - } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 340); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 341); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 9, 342); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 9, 343); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->eMAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ - errn = encodeNBitUnsignedInteger(stream, 9, 344); - if(errn == 0) { - errn = encode_iso2EMAIDType(stream, &exiFrag->eMAID ); - } - } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 345); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, exiFrag->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 346); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->physicalValue ); - } - } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 347); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, exiFrag->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 9, 348); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 349); - if(errn == 0) { - errn = encode_iso2PhysicalValueType(stream, &exiFrag->startValue ); - } - } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 9, 350); - 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)(exiFrag->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->stringValue.characters, exiFrag->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 9, 352); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#endif - diff --git a/src/iso2/iso2EXIDatatypesEncoder.h b/src/iso2/iso2EXIDatatypesEncoder.h deleted file mode 100644 index 38236d2..0000000 --- a/src/iso2/iso2EXIDatatypesEncoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_iso2_DATATYPES_ENCODER_H -#define EXI_iso2_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#include "iso2EXIDatatypes.h" - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -int encode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc); - -#if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES -int encode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag); -#endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_ISO2_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/test/main.c b/src/test/main.c deleted file mode 100644 index 40da85d..0000000 --- a/src/test/main.c +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

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

- * - ********************************************************************/ - -#include -#include - -#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); -#elif CODE_VERSION == CODE_VERSION_SAMPLE - /* V2G client / service example */ - return main_example(argc, argv); -#endif - -} - diff --git a/src/test/main.h b/src/test/main.h deleted file mode 100644 index 894fc24..0000000 --- a/src/test/main.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - * - ********************************************************************/ - - -#define CODE_VERSION_EXI 1 -#define CODE_VERSION_SAMPLE 2 -#define CODE_VERSION CODE_VERSION_EXI - -#ifndef MAIN_H_ -#define MAIN_H_ - -#if CODE_VERSION == CODE_VERSION_EXI -int main_databinder(int argc, char *argv[]); -#elif CODE_VERSION == CODE_VERSION_SAMPLE -int main_example(int argc, char *argv[]); -#endif - -#endif diff --git a/src/test/main_databinder.c b/src/test/main_databinder.c deleted file mode 100644 index 46f200a..0000000 --- a/src/test/main_databinder.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -/******************************************************************* - * - *

Sample program to illustrate how to read an EXI stream and - * directly write it again to an output

- * - *

e.g., in.exi out.exi

- ********************************************************************/ - -#include -#include -#include - -/* schema-dependent */ -#include "iso1EXIDatatypes.h" -#if DEPLOY_ISO1_CODEC == SUPPORT_YES -#include "iso1EXIDatatypesEncoder.h" -#include "iso1EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#include "iso2EXIDatatypes.h" -#if DEPLOY_ISO2_CODEC == SUPPORT_YES -#include "iso2EXIDatatypesEncoder.h" -#include "iso2EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - -#include "ByteStream.h" - -/** EXI Debug mode */ -#define EXI_DEBUG 0 - -#define BUFFER_SIZE 4096 -uint8_t bufferIn[BUFFER_SIZE]; -uint8_t bufferOut[BUFFER_SIZE]; - - -#if EXI_DEBUG == 1 -# define DEBUG_PRINTF(x) printf x -#else -# define DEBUG_PRINTF(x) do {} while (0) -#endif - - -int main_databinder(int argc, char *argv[]) { - -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - struct iso1EXIDocument exi1Doc; -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - struct iso2EXIDocument exi2Doc; -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - int errn = 0; - - bitstream_t iStream, oStream; - -#if EXI_STREAM == BYTE_ARRAY - size_t posDecode; - size_t posEncode; -#endif /* EXI_STREAM == BYTE_ARRAY */ - - -#if EXI_DEBUG == 1 - /* The Eclipse console has buffering problems on Windows e.g, Debug mode */ - setvbuf(stdout, NULL, _IONBF, 0); - setvbuf(stderr, NULL, _IONBF, 0); -#endif /*EXI_DEBUG*/ - - if (argc != 3) { - printf("Usage: %s exiInput exiOutput\n", argv[0]); - return -1; - } - -#if EXI_STREAM == BYTE_ARRAY - /* input pos */ - posDecode = 0; - /* parse EXI stream to internal byte structures */ - errn = readBytesFromFile(argv[1], bufferIn, BUFFER_SIZE, &posDecode); - if (errn != 0) { - printf("Problems while reading file into buffer, err==%d\n", errn); - return errn; - } - posDecode = 0; /* reset position */ -#endif /* EXI_STREAM == BYTE_ARRAY */ - - /* setup input stream */ -#if EXI_STREAM == BYTE_ARRAY - iStream.size = BUFFER_SIZE; - iStream.data = bufferIn; - iStream.pos = &posDecode; -#endif /* EXI_STREAM == BYTE_ARRAY */ - - iStream.buffer = 0; - iStream.capacity = 0; - - - printf("Start decoding EXI stream to databinding layer \n"); -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - errn = decode_iso1ExiDocument(&iStream, &exi1Doc); -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - errn = decode_iso2ExiDocument(&iStream, &exi2Doc); -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - if (errn != 0) { - printf("Problems while decoding EXI stream, err==%d\n", errn); - return errn; - } - -#if EXI_STREAM == BYTE_ARRAY - /* setup output stream */ - posEncode = 0; - oStream.size = BUFFER_SIZE; - oStream.data = bufferOut; - oStream.pos = &posEncode; -#endif - - oStream.buffer = 0; - oStream.capacity = 8; - - printf("Start encoding databinding layer to EXI \n"); -#if DEPLOY_ISO1_CODEC == SUPPORT_YES - errn = encode_iso1ExiDocument(&oStream, &exi1Doc); -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - errn = encode_iso2ExiDocument(&oStream, &exi2Doc); -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - if (errn != 0) { - printf("Problems while encoding databinding layer, err==%d\n", errn); - return errn; - } - - printf("EXI roundtrip done with success\n"); -#if EXI_STREAM == BYTE_ARRAY - /* write to file */ - writeBytesToFile(oStream.data, posEncode, argv[2]); -#endif - - - return errn; -} - - diff --git a/src/test/main_example.c b/src/test/main_example.c deleted file mode 100644 index 52b839e..0000000 --- a/src/test/main_example.c +++ /dev/null @@ -1,2572 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - * - ********************************************************************/ - - - -#include -#include -#include - -#include - -#include "EXITypes.h" - -#include "appHandEXIDatatypes.h" -#include "appHandEXIDatatypesEncoder.h" -#include "appHandEXIDatatypesDecoder.h" - -/* Activate support for DIN */ -#include "dinEXIDatatypes.h" -#if DEPLOY_DIN_CODEC == SUPPORT_YES -#include "dinEXIDatatypesEncoder.h" -#include "dinEXIDatatypesDecoder.h" -#endif /* DEPLOY_DIN_CODEC == SUPPORT_YES */ - -/* Activate support for XMLDSIG */ -#include "xmldsigEXIDatatypes.h" -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES -#include "xmldsigEXIDatatypesEncoder.h" -#include "xmldsigEXIDatatypesDecoder.h" -#endif /* DEPLOY_XMLDSIG_CODEC == SUPPORT_YES */ - -/* Activate support for ISO1 */ -#include "iso1EXIDatatypes.h" -#if DEPLOY_ISO1_CODEC == SUPPORT_YES -#include "iso1EXIDatatypesEncoder.h" -#include "iso1EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO1_CODEC == SUPPORT_YES */ - -/* Activate support for ISO2 */ -#include "iso2EXIDatatypes.h" -#if DEPLOY_ISO2_CODEC == SUPPORT_YES -#include "iso2EXIDatatypesEncoder.h" -#include "iso2EXIDatatypesDecoder.h" -#endif /* DEPLOY_ISO2_CODEC == SUPPORT_YES */ - -#include "v2gtp.h" - -#define BUFFER_SIZE 256 -uint8_t buffer1[BUFFER_SIZE]; -uint8_t buffer2[BUFFER_SIZE]; - -#define ERROR_UNEXPECTED_REQUEST_MESSAGE -601 -#define ERROR_UNEXPECTED_SESSION_SETUP_RESP_MESSAGE -602 -#define ERROR_UNEXPECTED_SERVICE_DISCOVERY_RESP_MESSAGE -602 -#define ERROR_UNEXPECTED_SERVICE_DETAILS_RESP_MESSAGE -603 -#define ERROR_UNEXPECTED_PAYMENT_SERVICE_SELECTION_RESP_MESSAGE -604 -#define ERROR_UNEXPECTED_PAYMENT_DETAILS_RESP_MESSAGE -605 -#define ERROR_UNEXPECTED_AUTHORIZATION_RESP_MESSAGE -606 -#define ERROR_UNEXPECTED_CHARGE_PARAMETER_DISCOVERY_RESP_MESSAGE -607 -#define ERROR_UNEXPECTED_POWER_DELIVERY_RESP_MESSAGE -608 -#define ERROR_UNEXPECTED_CHARGING_STATUS_RESP_MESSAGE -609 -#define ERROR_UNEXPECTED_METERING_RECEIPT_RESP_MESSAGE -610 -#define ERROR_UNEXPECTED_SESSION_STOP_RESP_MESSAGE -611 -#define ERROR_UNEXPECTED_CABLE_CHECK_RESP_MESSAGE -612 -#define ERROR_UNEXPECTED_PRE_CHARGE_RESP_MESSAGE -612 -#define ERROR_UNEXPECTED_CURRENT_DEMAND_RESP_MESSAGE -613 -#define ERROR_UNEXPECTED_WELDING_DETECTION_RESP_MESSAGE -614 - - -static int writeStringToEXIString(char* string, exi_string_character_t* exiString) { - int pos = 0; - while(string[pos]!='\0') - { - exiString[pos] = string[pos]; - pos++; - } - - return pos; -} - -static void printASCIIString(exi_string_character_t* string, uint16_t len) { - unsigned int i; - for(i=0; idata, &payloadLengthDec)) == 0) { - *iStream->pos = V2GTP_HEADER_LENGTH; - if( (errn = decode_appHandExiDocument(iStream, &exiDoc)) ) { - /* an error occured */ - return errn; - } - - } - - - - - - printf("EVSE side: List of application handshake protocols of the EV \n"); - - for(i=0;ipos = V2GTP_HEADER_LENGTH; - if( (errn = encode_appHandExiDocument(oStream, &appHandResp)) == 0) { - errn = write_v2gtpHeader(oStream->data, (*oStream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - - - return errn; -} - - -static int appHandshake() -{ - bitstream_t stream1; - bitstream_t stream2; - - uint32_t payloadLengthDec; - size_t pos1 = V2GTP_HEADER_LENGTH; /* v2gtp header */ - size_t pos2 = 0; - - struct appHandEXIDocument handshake; - struct appHandEXIDocument handshakeResp; - - int errn = 0; - - char* ns0 = "urn:iso:15118:2:2010:MsgDef"; - char* ns1 = "urn:din:70121:2012:MsgDef"; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - init_appHandEXIDocument(&handshake); - - printf("EV side: setup data for the supported application handshake request message\n"); - - /* set up ISO/IEC 15118 Version 1.0 information */ - handshake.supportedAppProtocolReq_isUsed = 1u; - handshake.supportedAppProtocolReq.AppProtocol.arrayLen = 2; /* we have only two protocols implemented */ - - handshake.supportedAppProtocolReq.AppProtocol.array[0].ProtocolNamespace.charactersLen = - writeStringToEXIString(ns0, handshake.supportedAppProtocolReq.AppProtocol.array[0].ProtocolNamespace.characters); - handshake.supportedAppProtocolReq.AppProtocol.array[0].SchemaID = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[0].VersionNumberMajor = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[0].VersionNumberMinor = 0; - handshake.supportedAppProtocolReq.AppProtocol.array[0].Priority = 1; - - handshake.supportedAppProtocolReq.AppProtocol.array[1].ProtocolNamespace.charactersLen = - writeStringToEXIString(ns1, handshake.supportedAppProtocolReq.AppProtocol.array[1].ProtocolNamespace.characters); - handshake.supportedAppProtocolReq.AppProtocol.array[1].SchemaID = 2; - handshake.supportedAppProtocolReq.AppProtocol.array[1].VersionNumberMajor = 1; - handshake.supportedAppProtocolReq.AppProtocol.array[1].VersionNumberMinor = 0; - handshake.supportedAppProtocolReq.AppProtocol.array[1].Priority = 2; - - /* send app handshake request */ - if( (errn = encode_appHandExiDocument(&stream1, &handshake)) == 0) { - if ( write_v2gtpHeader(stream1.data, pos1-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE) == 0 ) { - printf("EV side: send message to the EVSE\n"); - } - } - - if (errn == 0) { - /* read app handshake request & generate response */ - errn = appHandshakeHandler(&stream1, &stream2); - } - - if (errn == 0) { - /* check response */ - if ( (errn = read_v2gtpHeader(stream2.data, &payloadLengthDec)) == 0) { - pos2 = V2GTP_HEADER_LENGTH; - - if(decode_appHandExiDocument(&stream2, &handshakeResp) == 0) { - printf("EV side: Response of the EVSE \n"); - if(handshakeResp.supportedAppProtocolRes.ResponseCode == appHandresponseCodeType_OK_SuccessfulNegotiation) { - printf("\t\tResponseCode=OK_SuccessfulNegotiation\n"); - printf("\t\tSchemaID=%d\n",handshakeResp.supportedAppProtocolRes.SchemaID); - } - } - } - - } - - if (errn != 0) { - printf("appHandshake error %d \n", errn); - } - - - return errn; - -} - - - - - -#if DEPLOY_ISO2_CODEC == SUPPORT_YES - -static void printEVSEStatus2(struct iso2EVSEStatusType* status) -{ - printf("\tEVSEStatus:\n"); - printf("\t\tEVSENotification=%d\n", status->EVSENotification); - printf("\t\tNotificationMaxDelay=%d\n", status->NotificationMaxDelay); -} - -/* serializes EXI stream and adds V2G TP header */ -static int serialize2EXI2Stream(struct iso2EXIDocument* exiIn, bitstream_t* stream) { - int errn; - *stream->pos = V2GTP_HEADER_LENGTH; /* v2gtp header */ - if( (errn = encode_iso2ExiDocument(stream, exiIn)) == 0) { - errn = write_v2gtpHeader(stream->data, (*stream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - return errn; -} - - -/* deserializes V2G TP header and decodes right away EXI stream */ -static int deserialize2Stream2EXI(bitstream_t* streamIn, struct iso2EXIDocument* exi) { - int errn; - uint32_t payloadLength; - - *streamIn->pos = 0; - if ( (errn = read_v2gtpHeader(streamIn->data, &payloadLength)) == 0) { - *streamIn->pos += V2GTP_HEADER_LENGTH; - - errn = decode_iso2ExiDocument(streamIn, exi); - } - return errn; -} - -static int sessionSetup2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - printf("EVSE side: sessionSetup 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 EVCCID=%d\n", exiIn->V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0]); - - exiOut->V2G_Message_isUsed = 1u; - - /* generate an unique sessionID */ - init_iso2MessageHeaderType(&exiOut->V2G_Message.Header); - exiOut->V2G_Message.Header.SessionID.bytes[0] = 1; - exiOut->V2G_Message.Header.SessionID.bytes[1] = 2; - exiOut->V2G_Message.Header.SessionID.bytes[2] = 3; - exiOut->V2G_Message.Header.SessionID.bytes[3] = 4; - exiOut->V2G_Message.Header.SessionID.bytes[4] = 5; - exiOut->V2G_Message.Header.SessionID.bytes[5] = 6; - exiOut->V2G_Message.Header.SessionID.bytes[6] = 7; - exiOut->V2G_Message.Header.SessionID.bytes[7] = 8; - exiOut->V2G_Message.Header.SessionID.bytesLen = 8; - - /* Prepare data for EV */ - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; - init_iso2SessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); - - exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp_isUsed = 1u; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp = 123456789; - - return 0; -} - -static int serviceDiscovery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* 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); - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDiscoveryRes_isUsed = 1u; - init_iso2ServiceDiscoveryResType(&exiOut->V2G_Message.Body.ServiceDiscoveryRes); - - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.VASList_isUsed = 0u; /* we do not provide VAS */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = iso2paymentOptionType_ExternalPayment; /* EVSE handles the payment */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = iso2paymentOptionType_Contract; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2; - - 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.VASList_isUsed = 0u; /* no value added service requested */ - - return 0; -} - - -static int serviceDetail2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: serviceDetail 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 ServiceDetailID=%d\n",exiIn->V2G_Message.Body.ServiceDetailReq.ServiceID); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u; - init_iso2ServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceID = 1234; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.arrayLen = 2; - - /* Parameter Set 1*/ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].ParameterSetID = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.charactersLen = 8; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[0] = 'P'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[1] = 'r'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[2] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[3] = 't'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[4]= 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[5] = 'c'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[6] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[7] = 'l'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue = 15119; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue_isUsed = 1u; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.charactersLen = 4; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[0] = 'N'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[1] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[2] = 'm'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[3] = 'e'; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.charactersLen = 3; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[0] = 'V'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[1] = '2'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[2] = 'G'; - - /* Parameter Set 2 */ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].ParameterSetID = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.arrayLen = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.charactersLen = 7; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[0] = 'C'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[1] = 'h'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[2] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[3] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[4] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[5] = 'e'; - 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.Exponent = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2; - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - - -static int paymentServiceSelection2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int i; - - printf("EVSE side: paymentServiceSelection called\n" ); - printf("\tReceived data:\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen); - - if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == iso2paymentOptionType_ExternalPayment) { - printf("\t\t SelectedPaymentOption=ExternalPayment\n"); - } - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u; - init_iso2PaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - - -static int paymentDetails2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: paymentDetails called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t eMAID=%d\n", exiIn->V2G_Message.Body.PaymentDetailsReq.eMAID.characters[0]); - printf("\t\t ID=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Id.characters[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Id.characters[1]); - printf("\t\t Certificate=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Certificate.bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.Certificate.bytes[1]); - printf("\t\t SubCertificate 1=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[0].bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[0].bytes[1]); - printf("\t\t SubCertificate 2=%c%c\n", exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[1].bytes[0], exiIn->V2G_Message.Body.PaymentDetailsReq.ContractSignatureCertChain.SubCertificates.Certificate.array[1].bytes[1]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u; - init_iso2PaymentDetailsResType(&exiOut->V2G_Message.Body.PaymentDetailsRes); - - exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1; - exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytes[0] = 1; - exiOut->V2G_Message.Body.PaymentDetailsRes.EVSETimeStamp = 123456; - - return 0; -} - - -static int authorization2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE: Authorization called\n" ); - printf("\tReceived data:\n"); - - if(exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed) { - printf("\t\t\t GenChallenge=%d\n", exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge.bytes[0]); - } - if(exiIn->V2G_Message.Body.AuthorizationReq.Id_isUsed ) { - printf("\t\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[0], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[1], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[2]); - } - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; - init_iso2AuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes); - - exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = iso2EVSEProcessingType_Finished; - - return 0; -} - - -static int chargeParameterDiscovery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: chargeParameterDiscovery called\n" ); - printf("\tReceived data:\n"); - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; - init_iso2ChargeParameterDiscoveryResType(&exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes); - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = iso2responseCodeType_OK_CertificateExpiresSoon; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter_isUsed = 1u; - /*exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter = 0;*/ - return 0; -} - - -static int powerDelivery2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - printf("EVSE side: powerDelivery called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ChargeProgress=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargeProgress); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u; - init_iso2PowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes); - - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEProcessing = iso2EVSEProcessingType_Ongoing_WaitingForCustomerInteraction; - - return 0; -} - - -static int chargingStatus2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: chargingStatus called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; - init_iso2ChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes); - - - exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = iso2responseCodeType_OK; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A'; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; - - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_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; -} - - -static int meteringReceipt2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: meteringReceipt called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[0], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[1], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[2]); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID); - 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]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; - init_iso2MeteringReceiptResType(&exiOut->V2G_Message.Body.MeteringReceiptRes); - - exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = iso2responseCodeType_FAILED; - - return 0; -} - -static int sessionStop2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: sessionStop 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 ChargingSession=%d\n", exiIn->V2G_Message.Body.SessionStopReq.ChargingSession); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; - init_iso2SessionStopResType(&exiOut->V2G_Message.Body.SessionStopRes); - - exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = iso2responseCodeType_OK; - - return 0; -} - -static int cableCheck2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: cableCheck called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; - init_iso2CableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes); - - exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.NotificationMaxDelay = 1234; - exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.EVSENotification= iso2EVSENotificationType_ReNegotiation; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = iso2EVSEProcessingType_Finished; - - return 0; -} - -static int preCharge2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - - printf("EVSE side: preCharge called\n" ); - printf("\tReceived data:\n"); - - 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_iso2BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; - init_iso2PreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes); - - exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = iso2responseCodeType_OK; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.EVSENotification = iso2EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.NotificationMaxDelay= 1234; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Exponent = 3; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 456; - - return 0; -} - - - -static int create_response_message2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE; - - /* create response message as EXI document */ - if(exiIn->V2G_Message_isUsed) { - init_iso2EXIDocument(exiOut); - if (exiIn->V2G_Message.Body.SessionSetupReq_isUsed) { - errn = sessionSetup2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDiscoveryReq_isUsed) { - errn = serviceDiscovery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDetailReq_isUsed) { - errn = serviceDetail2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PaymentServiceSelectionReq_isUsed) { - errn = paymentServiceSelection2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PaymentDetailsReq_isUsed) { - errn = paymentDetails2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.AuthorizationReq_isUsed) { - errn = authorization2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed) { - errn = chargeParameterDiscovery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PowerDeliveryReq_isUsed) { - errn = powerDelivery2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargingStatusReq_isUsed) { - errn = chargingStatus2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.MeteringReceiptReq_isUsed) { - errn = meteringReceipt2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.SessionStopReq_isUsed) { - errn = sessionStop2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.CableCheckReq_isUsed) { - errn = cableCheck2(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PreChargeReq_isUsed) { - errn = preCharge2(exiIn, exiOut); - } - } - - return errn; -} - -/* Adapt this to your system setup! */ -/* In this situation EV and EVSE is the same party */ -static int request_response2(struct iso2EXIDocument* exiIn, struct iso2EXIDocument* exiOut) { - int errn; - - bitstream_t stream1; - bitstream_t stream2; - - size_t pos1; - size_t pos2; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - /* EV side */ - errn = serialize2EXI2Stream(exiIn, &stream1); - - /* --> Start of EVSE side */ - /* deserialize request message */ - if (errn == 0) { - errn = deserialize2Stream2EXI(&stream1, exiOut); - } - /* create response message */ - if (errn == 0) { - errn = create_response_message2(exiOut, exiIn); - } - /* serialize response message */ - if (errn == 0) { - errn = serialize2EXI2Stream(exiIn, &stream2); - } - /* <-- End of EVSE side */ - - - /* EV side */ - /* deserialize response message */ - if (errn == 0) { - errn = deserialize2Stream2EXI(&stream2, exiOut); - } - - return errn; -} - - -static int charging2() -{ - int errn = 0; - int i, j; - - struct iso2EXIDocument exiIn; - struct iso2EXIDocument exiOut; - - struct iso2ServiceDetailResType serviceDetailRes; - struct iso2PaymentServiceSelectionResType paymentServiceSelectionRes; - struct iso2PaymentDetailsResType paymentDetailsRes; - - /* setup header information */ - init_iso2EXIDocument(&exiIn); - exiIn.V2G_Message_isUsed = 1u; - init_iso2MessageHeaderType(&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; - exiIn.V2G_Message.Header.Signature_isUsed = 0u; - - - /************************ - * sessionSetup * - ************************/ - init_iso2BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u; - - init_iso2SessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq); - - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1; - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 10; - - printf("EV side: call EVSE sessionSetup"); - - errn = request_response2(&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; - } - } else { - return errn; - } - - - /******************************************* - * serviceDiscovery * - *******************************************/ - init_iso2BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ServiceDiscoveryReq_isUsed = 1u; - - init_iso2ServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); - - 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] = iso2serviceCategoryType_Internet; - - printf("EV side: call EVSE serviceDiscovery"); - - errn = request_response2(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ServiceDiscoveryRes_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.ServiceDiscoveryRes.ResponseCode); - - 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) { - printf("\t PaymentOption=Contract_paymentOptionType\n"); - } - if(serviceDiscoveryRes.ChargeService.FreeService==1) { - printf("\t ChargeService.FreeService=True\n"); - } - if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] == v2gEnergyTransferModeType_DC_combo_core) { - printf("\t EnergyTransferMode=AC_single_DC_core\n"); - } - if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] == v2gEnergyTransferModeType_AC_single_phase_core) { - printf("\t EnergyTransferMode=AC_single_phase_core_EnergyTransferModeType\n"); - } - printf("\t Value added service list:\n"); - for(i=0;iEVSENotification); - printf("\t\tNotificationMaxDelay=%d\n", status->NotificationMaxDelay); -} - - -/* serializes EXI stream and adds V2G TP header */ -static int serialize1EXI2Stream(struct iso1EXIDocument* exiIn, bitstream_t* stream) { - int errn; - *stream->pos = V2GTP_HEADER_LENGTH; /* v2gtp header */ - if( (errn = encode_iso1ExiDocument(stream, exiIn)) == 0) { - errn = write_v2gtpHeader(stream->data, (*stream->pos)-V2GTP_HEADER_LENGTH, V2GTP_EXI_TYPE); - } - return errn; -} - - - -/* deserializes V2G TP header and decodes right away EXI stream */ -static int deserialize1Stream2EXI(bitstream_t* streamIn, struct iso1EXIDocument* exi) { - int errn; - uint32_t payloadLength; - - *streamIn->pos = 0; - if ( (errn = read_v2gtpHeader(streamIn->data, &payloadLength)) == 0) { - *streamIn->pos += V2GTP_HEADER_LENGTH; - - errn = decode_iso1ExiDocument(streamIn, exi); - } - return errn; -} - - - -static int sessionSetup1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - printf("EVSE side: sessionSetup 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 EVCCID=%d\n", exiIn->V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0]); - - exiOut->V2G_Message_isUsed = 1u; - - /* generate an unique sessionID */ - init_iso1MessageHeaderType(&exiOut->V2G_Message.Header); - exiOut->V2G_Message.Header.SessionID.bytes[0] = 1; - exiOut->V2G_Message.Header.SessionID.bytes[1] = 2; - exiOut->V2G_Message.Header.SessionID.bytes[2] = 3; - exiOut->V2G_Message.Header.SessionID.bytes[3] = 4; - exiOut->V2G_Message.Header.SessionID.bytes[4] = 5; - exiOut->V2G_Message.Header.SessionID.bytes[5] = 6; - exiOut->V2G_Message.Header.SessionID.bytes[6] = 7; - exiOut->V2G_Message.Header.SessionID.bytes[7] = 8; - exiOut->V2G_Message.Header.SessionID.bytesLen = 8; - - /* Prepare data for EV */ - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; - init_iso1SessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); - - exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; - exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp_isUsed = 1u; - exiOut->V2G_Message.Body.SessionSetupRes.EVSETimeStamp = 123456789; - - return 0; -} - - - -static int serviceDetail1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: serviceDetail 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 ServiceDetailID=%d\n",exiIn->V2G_Message.Body.ServiceDetailReq.ServiceID); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u; - init_iso1ServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes); - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceID = 1234; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.arrayLen = 2; - - /* Parameter Set 1*/ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].ParameterSetID = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.charactersLen = 8; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[0] = 'P'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[1] = 'r'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[2] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[3] = 't'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[4]= 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[5] = 'c'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[6] = 'o'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].Name.characters[7] = 'l'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue = 15119; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[0].intValue_isUsed = 1u; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.charactersLen = 4; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[0] = 'N'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[1] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[2] = 'm'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].Name.characters[3] = 'e'; - - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.charactersLen = 3; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[0] = 'V'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[1] = '2'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[0].Parameter.array[1].stringValue.characters[2] = 'G'; - - /* Parameter Set 2 */ - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].ParameterSetID = 2; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.arrayLen = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.charactersLen = 7; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[0] = 'C'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[1] = 'h'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[2] = 'a'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[3] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[4] = 'n'; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[5] = 'e'; - 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.Multiplier = 1; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2; - - exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = iso1responseCodeType_OK; - - return 0; -} - - - -static int authorization1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE: Authorization called\n" ); - printf("\tReceived data:\n"); - - if(exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed) { - printf("\t\t\t GenChallenge=%d\n", exiIn->V2G_Message.Body.AuthorizationReq.GenChallenge.bytes[0]); - } - if(exiIn->V2G_Message.Body.AuthorizationReq.Id_isUsed ) { - printf("\t\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[0], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[1], exiIn->V2G_Message.Body.AuthorizationReq.Id.characters[2]); - } - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; - init_iso1AuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes); - - exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = iso1EVSEProcessingType_Finished; - - return 0; -} - - -static int powerDelivery1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - printf("EVSE side: powerDelivery called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ChargeProgress=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargeProgress); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u; - init_iso1PowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes); - - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = iso1EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12; - - return 0; -} - - -static int chargingStatus1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: chargingStatus called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; - init_iso1ChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes); - - - exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = iso1responseCodeType_OK; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A'; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; - - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired = 1; - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed = 1; - - return 0; -} - - -static int meteringReceipt1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: meteringReceipt called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t ID=%c%c%c\n", exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[0], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[1], exiIn->V2G_Message.Body.MeteringReceiptReq.Id.characters[2]); - printf("\t\t SAScheduleTupleID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID); - 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]); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; - init_iso1MeteringReceiptResType(&exiOut->V2G_Message.Body.MeteringReceiptRes); - - exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = iso1responseCodeType_FAILED; - - return 0; -} - -static int sessionStop1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: sessionStop 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 ChargingSession=%d\n", exiIn->V2G_Message.Body.SessionStopReq.ChargingSession); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; - init_iso1SessionStopResType(&exiOut->V2G_Message.Body.SessionStopRes); - - exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = iso1responseCodeType_OK; - - return 0; -} - -static int cableCheck1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: cableCheck called\n" ); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; - init_iso1CableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes); - - exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.NotificationMaxDelay = 1234; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSENotification= iso1EVSENotificationType_ReNegotiation; - - exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = iso1EVSEProcessingType_Finished; - - return 0; -} - -static int preCharge1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - - printf("EVSE side: preCharge called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t EVTargetCurrent=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier); - printf("\t\t EVTargetVoltage=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_iso1BodyType(&exiOut->V2G_Message.Body); - - exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; - init_iso1PreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes); - - exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = iso1responseCodeType_OK; - - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSENotification = iso1EVSENotificationType_StopCharging; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.NotificationMaxDelay= 1234; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier = 3; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 456; - - return 0; -} - - - - - -static int create_response_message1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE; - - /* create response message as EXI document */ - if(exiIn->V2G_Message_isUsed) { - init_iso1EXIDocument(exiOut); - if (exiIn->V2G_Message.Body.SessionSetupReq_isUsed) { - errn = sessionSetup1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ServiceDetailReq_isUsed) { - errn = serviceDetail1(exiIn, exiOut); - /*} else if (exiIn->V2G_Message.Body.PaymentDetailsReq_isUsed) { - errn = paymentDetails1(exiIn, exiOut);*/ - } else if (exiIn->V2G_Message.Body.AuthorizationReq_isUsed) { - errn = authorization1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PowerDeliveryReq_isUsed) { - errn = powerDelivery1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.ChargingStatusReq_isUsed) { - errn = chargingStatus1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.MeteringReceiptReq_isUsed) { - errn = meteringReceipt1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.SessionStopReq_isUsed) { - errn = sessionStop1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.CableCheckReq_isUsed) { - errn = cableCheck1(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.PreChargeReq_isUsed) { - errn = preCharge1(exiIn, exiOut); - } - } - - return errn; -} - - -/* Adapt this to your system setup! */ -/* In this situation EV and EVSE is the same party */ -static int request_response1(struct iso1EXIDocument* exiIn, struct iso1EXIDocument* exiOut) { - int errn; - - bitstream_t stream1; - bitstream_t stream2; - - size_t pos1; - size_t pos2; - - stream1.size = BUFFER_SIZE; - stream1.data = buffer1; - stream1.pos = &pos1; - - stream2.size = BUFFER_SIZE; - stream2.data = buffer2; - stream2.pos = &pos2; - - /* EV side */ - errn = serialize1EXI2Stream(exiIn, &stream1); - - /* --> Start of EVSE side */ - /* deserialize request message */ - if (errn == 0) { - errn = deserialize1Stream2EXI(&stream1, exiOut); - } - /* create response message */ - if (errn == 0) { - errn = create_response_message1(exiOut, exiIn); - } - /* serialize response message */ - if (errn == 0) { - errn = serialize1EXI2Stream(exiIn, &stream2); - } - /* <-- End of EVSE side */ - - - /* EV side */ - /* deserialize response message */ - if (errn == 0) { - errn = deserialize1Stream2EXI(&stream2, exiOut); - } - - return errn; -} - -static int charging1() -{ - int errn = 0; - int i, j; - - struct iso1EXIDocument exiIn; - struct iso1EXIDocument exiOut; - - struct iso1ServiceDetailResType serviceDetailRes; - struct iso1PaymentDetailsResType paymentDetailsRes; - - /* setup header information */ - init_iso1EXIDocument(&exiIn); - exiIn.V2G_Message_isUsed = 1u; - init_iso1MessageHeaderType(&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; - exiIn.V2G_Message.Header.Signature_isUsed = 0u; - - - /************************ - * sessionSetup * - ************************/ - init_iso1BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u; - - init_iso1SessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq); - - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1; - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 10; - - printf("EV side: call EVSE sessionSetup"); - - errn = request_response1(&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; - } - } else { - return errn; - } - - - - /********************************* - * ServiceDetails * - *********************************/ - init_iso1BodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ServiceDetailReq_isUsed = 1u; - - init_iso1ServiceDetailReqType(&exiIn.V2G_Message.Body.ServiceDetailReq); - - exiIn.V2G_Message.Body.ServiceDetailReq.ServiceID = 22; /* Value Added Server ID */ - - printf("EV side: call EVSE ServiceDetail \n"); - - errn = request_response1(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ServiceDetailRes_isUsed) { - serviceDetailRes = exiOut.V2G_Message.Body.ServiceDetailRes; - /* 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.ServiceDetailRes.ServiceID); - - if(serviceDetailRes.ServiceParameterList_isUsed) { - printf("\t\tLength=%d\n", serviceDetailRes.ServiceParameterList.ParameterSet.arrayLen );/*TEST*/ - - for(i=0; i - U29tZSBSYW5kb20gRGF0YQ== - - */ - - init_iso2EXIFragment(&exiV2G_AR); - exiV2G_AR.AuthorizationReq_isUsed = 1u; - init_iso2AuthorizationReqType(&exiV2G_AR.AuthorizationReq); - exiV2G_AR.AuthorizationReq.Id_isUsed = 1; - exiV2G_AR.AuthorizationReq.Id.charactersLen = 3; - exiV2G_AR.AuthorizationReq.Id.characters[0] = 'I'; - exiV2G_AR.AuthorizationReq.Id.characters[1] = 'D'; - exiV2G_AR.AuthorizationReq.Id.characters[2] = '1'; - exiV2G_AR.AuthorizationReq.GenChallenge_isUsed = 1; - /* base64 U29tZSBSYW5kb20gRGF0YQ== */ - exiV2G_AR.AuthorizationReq.GenChallenge.bytesLen = 16; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[0] = 0x53; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[1] = 0x6F; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[2] = 0x6D; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[3] = 0x65; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[4] = 0x20; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[5] = 0x52; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[6] = 0x61; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[7] = 0x6E; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[8] = 0x64; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[9] = 0x6F; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[10] = 0x6D; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[11] = 0x20; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[12] = 0x44; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[13] = 0x61; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[14] = 0x74; - exiV2G_AR.AuthorizationReq.GenChallenge.bytes[15] = 0x61; - - /* encode fragment with ISO schema */ - errn = encode_iso2ExiFragment(&stream1, &exiV2G_AR); - - if((*stream1.pos) != sizeIsoStream1) { - errn = -1; - printf("EXI1 stream length does not match !\n"); - return errn; - } else { - for(i=0; i - - - - - - - - 0bXgPQBlvuVrMXmERTBR61TK - GPwOCRYXT4s8d6mPSqk= - - - */ - - /* encode SignedInfo element with xmldsig schema */ - - 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; - init_xmldsigSignedInfoType(&exiXMLDSIG_SI.SignedInfo); - { - init_xmldsigCanonicalizationMethodType(&exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod); - exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod.Algorithm.charactersLen = 35; - strncpy(exiXMLDSIG_SI.SignedInfo.CanonicalizationMethod.Algorithm.characters, arrayCanonicalEXI, 35); - - exiXMLDSIG_SI.SignedInfo.SignatureMethod.HMACOutputLength_isUsed = 0; - exiXMLDSIG_SI.SignedInfo.SignatureMethod.Algorithm.charactersLen = 51; - strncpy(exiXMLDSIG_SI.SignedInfo.SignatureMethod.Algorithm.characters, arrayxmldsigSHA256, 51); - - exiXMLDSIG_SI.SignedInfo.Reference.arrayLen = 1; - /* "#ID1" */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI_isUsed = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.charactersLen = 4; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[0] = '#'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[1] = 'I'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[2] = 'D'; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].URI.characters[3] = '1'; - /* "http://www.w3.org/TR/canonical-exi/" */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms_isUsed = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.arrayLen = 1; - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].Algorithm.charactersLen = 35; - strncpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].Algorithm.characters, arrayCanonicalEXI, 35); /* Will copy 35 characters from arrayCanonicalEXI to characters */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].Transforms.Transform.array[0].XPath.arrayLen = 0; - - exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestMethod.Algorithm.charactersLen = 39; - strncpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestMethod.Algorithm.characters, arrayxmlencSHA256, 39); - - /* "0bXgPQBlvuVrMXmERTBR61TKGPwOCRYXT4s8d6mPSqk=" --> 16 Bytes 536F6D652052616E646F6D2044617461 */ - exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestValue.bytesLen = 32; - memcpy(exiXMLDSIG_SI.SignedInfo.Reference.array[0].DigestValue.bytes, digestValue, 32); - } - - errn = encode_xmldsigExiFragment(&stream2, &exiXMLDSIG_SI); - - if((*stream2.pos) != sizeIsoStream2) { - errn = -1; - printf("EXI2 stream length does not match !\n"); - return errn; - } else { - for(i=0; i. - */ - -/******************************************************************* - * - * @author Sebastian.Kaebisch@siemens.com - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - ********************************************************************/ - -/* - * This file implements the v2gtp header writer and reader. - * - */ - -#include -#include -#include -#include -#include -#include - -#include "v2gtp.h" - - -int write_v2gtpHeader(uint8_t* outStream, uint32_t outStreamLength, uint16_t payloadType) -{ - - /* write v2gtp version number 1=byte */ - outStream[0]=V2GTP_VERSION; - - /* write inverse v2gtp version */ - outStream[1]=V2GTP_VERSION_INV; - - - /* write payload type */ - outStream[3] = (uint8_t)(payloadType & 0xFF); - outStream[2] = (uint8_t)(payloadType >> 8 & 0xFF); - - /* write payload length */ - outStream[7] = (uint8_t)(outStreamLength & 0xFF); - outStream[6] = (uint8_t)(outStreamLength>>8 & 0xFF); - outStream[5] = (uint8_t)(outStreamLength>>16 & 0xFF); - outStream[4] = (uint8_t)(outStreamLength>>24 & 0xFF); - - return 0; -} - -int read_v2gtpHeader(uint8_t* inStream, uint32_t* payloadLength) -{ - uint16_t payloadType=0; - - - /* check, if we support this v2gtp version */ - if(inStream[0]!=V2GTP_VERSION || inStream[1]!=V2GTP_VERSION_INV) - return -1; - - - /* check, if we support this payload type*/ - payloadType = inStream[2]; - payloadType = (payloadType << 8 | inStream[3]); - - if(payloadType != V2GTP_EXI_TYPE) - return -1; - - - /* determine payload length*/ - *payloadLength = inStream[4]; - *payloadLength = (*payloadLength << 8 | inStream[5]); - *payloadLength = (*payloadLength << 8 | inStream[6]); - *payloadLength = (*payloadLength << 8 | inStream[7]); - - return 0; -} - diff --git a/src/transport/v2gtp.h b/src/transport/v2gtp.h deleted file mode 100644 index 2b6c6db..0000000 --- a/src/transport/v2gtp.h +++ /dev/null @@ -1,55 +0,0 @@ - -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Sebastian.Kaebisch@siemens.com - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - ********************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef V2GTP_H_ -#define V2GTP_H_ - -#include - -/* generic V2GTP header length */ -#define V2GTP_HEADER_LENGTH 8 - -/* define V2GTP Version */ -#define V2GTP_VERSION 0x01 -#define V2GTP_VERSION_INV 0xFE - -/* define V2GTP payload types*/ -#define V2GTP_EXI_TYPE 0x8001 - -int write_v2gtpHeader(uint8_t* outStream, uint32_t outStreamLength, uint16_t payloadType); - -int read_v2gtpHeader(uint8_t* inStream, uint32_t* payloadLength); - -#endif /* V2GTP_H_ */ - -#ifdef __cplusplus -} -#endif diff --git a/src/xmldsig/xmldsigEXIDatatypes.c b/src/xmldsig/xmldsigEXIDatatypes.c deleted file mode 100644 index 752d4e8..0000000 --- a/src/xmldsig/xmldsigEXIDatatypes.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -#include - -#include "xmldsigEXIDatatypes.h" -#include "EXITypes.h" - - -#ifndef EXI_xmldsig_DATATYPES_C -#define EXI_xmldsig_DATATYPES_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - - -void init_xmldsigEXIDocument(struct xmldsigEXIDocument* exiDoc) { - exiDoc->SignatureProperty_isUsed = 0u; - exiDoc->DSAKeyValue_isUsed = 0u; - exiDoc->SignatureProperties_isUsed = 0u; - exiDoc->KeyValue_isUsed = 0u; - exiDoc->Transforms_isUsed = 0u; - exiDoc->DigestMethod_isUsed = 0u; - exiDoc->Signature_isUsed = 0u; - exiDoc->RetrievalMethod_isUsed = 0u; - exiDoc->Manifest_isUsed = 0u; - exiDoc->Reference_isUsed = 0u; - exiDoc->CanonicalizationMethod_isUsed = 0u; - exiDoc->RSAKeyValue_isUsed = 0u; - exiDoc->Transform_isUsed = 0u; - exiDoc->PGPData_isUsed = 0u; - exiDoc->MgmtData_isUsed = 0u; - exiDoc->SignatureMethod_isUsed = 0u; - exiDoc->KeyInfo_isUsed = 0u; - exiDoc->SPKIData_isUsed = 0u; - exiDoc->X509Data_isUsed = 0u; - exiDoc->SignatureValue_isUsed = 0u; - exiDoc->KeyName_isUsed = 0u; - exiDoc->DigestValue_isUsed = 0u; - exiDoc->SignedInfo_isUsed = 0u; - exiDoc->Object_isUsed = 0u; -} - - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -void init_xmldsigEXIFragment(struct xmldsigEXIFragment* exiFrag) { - exiFrag->DigestValue_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->Q_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->XPath_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - -void init_xmldsigCanonicalizationMethodType(struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - xmldsigCanonicalizationMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigManifestType(struct xmldsigManifestType* xmldsigManifestType) { - xmldsigManifestType->Id_isUsed = 0u; - xmldsigManifestType->Reference.arrayLen = 0u; -} - -void init_xmldsigObjectType(struct xmldsigObjectType* xmldsigObjectType) { - xmldsigObjectType->Id_isUsed = 0u; - xmldsigObjectType->MimeType_isUsed = 0u; - xmldsigObjectType->Encoding_isUsed = 0u; - xmldsigObjectType->ANY_isUsed = 0u; -} - -void init_xmldsigTransformType(struct xmldsigTransformType* xmldsigTransformType) { - xmldsigTransformType->ANY_isUsed = 0u; - xmldsigTransformType->XPath.arrayLen = 0u; -} - -void init_xmldsigSignatureMethodType(struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - xmldsigSignatureMethodType->HMACOutputLength_isUsed = 0u; - xmldsigSignatureMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigDigestMethodType(struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - xmldsigDigestMethodType->ANY_isUsed = 0u; -} - -void init_xmldsigRetrievalMethodType(struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - xmldsigRetrievalMethodType->URI_isUsed = 0u; - xmldsigRetrievalMethodType->Type_isUsed = 0u; - xmldsigRetrievalMethodType->Transforms_isUsed = 0u; -} - -void init_xmldsigSignatureValueType(struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - xmldsigSignatureValueType->Id_isUsed = 0u; -} - -void init_xmldsigX509IssuerSerialType(struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - (void)xmldsigX509IssuerSerialType; /* avoid unused warning */ -} - -void init_xmldsigSignedInfoType(struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - xmldsigSignedInfoType->Id_isUsed = 0u; - xmldsigSignedInfoType->Reference.arrayLen = 0u; -} - -void init_xmldsigSignaturePropertiesType(struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - xmldsigSignaturePropertiesType->Id_isUsed = 0u; - xmldsigSignaturePropertiesType->SignatureProperty.arrayLen = 0u; -} - -void init_xmldsigSignaturePropertyType(struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - xmldsigSignaturePropertyType->Id_isUsed = 0u; - xmldsigSignaturePropertyType->ANY_isUsed = 0u; -} - -void init_xmldsigKeyValueType(struct xmldsigKeyValueType* xmldsigKeyValueType) { - xmldsigKeyValueType->DSAKeyValue_isUsed = 0u; - xmldsigKeyValueType->RSAKeyValue_isUsed = 0u; - xmldsigKeyValueType->ANY_isUsed = 0u; -} - -void init_xmldsigRSAKeyValueType(struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - (void)xmldsigRSAKeyValueType; /* avoid unused warning */ -} - -void init_xmldsigPGPDataType(struct xmldsigPGPDataType* xmldsigPGPDataType) { - xmldsigPGPDataType->PGPKeyID_isUsed = 0u; - xmldsigPGPDataType->PGPKeyPacket_isUsed = 0u; - xmldsigPGPDataType->ANY_isUsed = 0u; -} - -void init_xmldsigTransformsType(struct xmldsigTransformsType* xmldsigTransformsType) { - xmldsigTransformsType->Transform.arrayLen = 0u; -} - -void init_xmldsigX509DataType(struct xmldsigX509DataType* xmldsigX509DataType) { - xmldsigX509DataType->X509IssuerSerial.arrayLen = 0u; - xmldsigX509DataType->X509SKI.arrayLen = 0u; - xmldsigX509DataType->X509SubjectName.arrayLen = 0u; - xmldsigX509DataType->X509Certificate.arrayLen = 0u; - xmldsigX509DataType->X509CRL.arrayLen = 0u; - xmldsigX509DataType->ANY_isUsed = 0u; -} - -void init_xmldsigSignatureType(struct xmldsigSignatureType* xmldsigSignatureType) { - xmldsigSignatureType->Id_isUsed = 0u; - xmldsigSignatureType->KeyInfo_isUsed = 0u; - xmldsigSignatureType->Object.arrayLen = 0u; -} - -void init_xmldsigDSAKeyValueType(struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - xmldsigDSAKeyValueType->P_isUsed = 0u; - xmldsigDSAKeyValueType->Q_isUsed = 0u; - xmldsigDSAKeyValueType->G_isUsed = 0u; - xmldsigDSAKeyValueType->J_isUsed = 0u; - xmldsigDSAKeyValueType->Seed_isUsed = 0u; - xmldsigDSAKeyValueType->PgenCounter_isUsed = 0u; -} - -void init_xmldsigReferenceType(struct xmldsigReferenceType* xmldsigReferenceType) { - xmldsigReferenceType->Id_isUsed = 0u; - xmldsigReferenceType->URI_isUsed = 0u; - xmldsigReferenceType->Type_isUsed = 0u; - xmldsigReferenceType->Transforms_isUsed = 0u; -} - -void init_xmldsigSPKIDataType(struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - xmldsigSPKIDataType->SPKISexp.arrayLen = 0u; - xmldsigSPKIDataType->ANY_isUsed = 0u; -} - -void init_xmldsigKeyInfoType(struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - xmldsigKeyInfoType->Id_isUsed = 0u; - xmldsigKeyInfoType->KeyName.arrayLen = 0u; - xmldsigKeyInfoType->KeyValue.arrayLen = 0u; - xmldsigKeyInfoType->RetrievalMethod.arrayLen = 0u; - xmldsigKeyInfoType->X509Data.arrayLen = 0u; - xmldsigKeyInfoType->PGPData.arrayLen = 0u; - xmldsigKeyInfoType->SPKIData.arrayLen = 0u; - xmldsigKeyInfoType->MgmtData.arrayLen = 0u; - xmldsigKeyInfoType->ANY_isUsed = 0u; -} - - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/src/xmldsig/xmldsigEXIDatatypes.h b/src/xmldsig/xmldsigEXIDatatypes.h deleted file mode 100644 index 0de2760..0000000 --- a/src/xmldsig/xmldsigEXIDatatypes.h +++ /dev/null @@ -1,935 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypes.h - * \brief Datatype definitions and structs for given XML Schema definitions and initialization methods - * - */ - -#ifndef EXI_xmldsig_DATATYPES_H -#define EXI_xmldsig_DATATYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define SUPPORT_YES 1 -#define SUPPORT_NO 2 -#define DEPLOY_XMLDSIG_CODEC SUPPORT_NO -#define DEPLOY_XMLDSIG_CODEC_FRAGMENT SUPPORT_NO - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - - -/* Datatype definitions and structs for given XML Schema definitions */ - -#define UNION_YES 1 -#define UNION_NO 2 -#define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES - -/* 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 xmldsigCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigCanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigObjectType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_MimeType_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_Encoding_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigObjectType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigObjectType_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[xmldsigObjectType_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[xmldsigObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; - /* element: WC[##any] */ - struct { - exi_string_character_t characters[xmldsigObjectType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigTransformType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigTransformType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigTransformType_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigTransformType_XPath_ARRAY_SIZE 1 -struct xmldsigTransformType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigTransformType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigTransformType_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 { - exi_string_character_t characters[xmldsigTransformType_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigTransformType_XPath_ARRAY_SIZE]; - uint16_t arrayLen; - } XPath; -}; - -/* 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 xmldsigSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigSignatureMethodType_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[xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigDigestMethodType_Algorithm_CHARACTERS_SIZE 65 + EXTRA_CHAR -#define xmldsigDigestMethodType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigDigestMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigDigestMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigDigestMethodType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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 xmldsigSignatureValueType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignatureValueType_CONTENT_BYTES_SIZE 350 -struct xmldsigSignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignatureValueType_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[xmldsigSignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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 xmldsigX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigX509IssuerSerialType { - /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerName, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[xmldsigX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SerialNumber, http://www.w3.org/2001/XMLSchema,integer */ - int64_t X509SerialNumber ; -}; - -/* 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 xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertyType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertyType_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[xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigRSAKeyValueType_Modulus_BYTES_SIZE 350 -#define xmldsigRSAKeyValueType_Exponent_BYTES_SIZE 350 -struct xmldsigRSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigRSAKeyValueType_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[xmldsigRSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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 xmldsigPGPDataType_PGPKeyID_BYTES_SIZE 350 -#define xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE 350 -#define xmldsigPGPDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigPGPDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[xmldsigPGPDataType_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - unsigned int PGPKeyID_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - unsigned int PGPKeyPacket_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigPGPDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define xmldsigTransformsType_Transform_ARRAY_SIZE 1 -struct xmldsigTransformsType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Transform, 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'. */ - struct { - struct xmldsigTransformType array[xmldsigTransformsType_Transform_ARRAY_SIZE]; - uint16_t arrayLen; - } Transform; -}; - -/* 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'. */ -#define xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509SKI_BYTES_SIZE 350 -#define xmldsigX509DataType_X509SKI_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigX509DataType_X509SubjectName_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509Certificate_BYTES_SIZE 350 -#define xmldsigX509DataType_X509Certificate_ARRAY_SIZE 1 -#define xmldsigX509DataType_X509CRL_BYTES_SIZE 350 -#define xmldsigX509DataType_X509CRL_ARRAY_SIZE 1 -#define xmldsigX509DataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigX509DataType { - /* 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 { - struct xmldsigX509IssuerSerialType array[xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE]; - uint16_t arrayLen; - } X509IssuerSerial; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SKI, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509SKI_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SKI; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509SubjectName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigX509DataType_X509SubjectName_ARRAY_SIZE]; - uint16_t arrayLen; - } X509SubjectName; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Certificate, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509Certificate_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Certificate; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509CRL, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigX509DataType_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigX509DataType_X509CRL_ARRAY_SIZE]; - uint16_t arrayLen; - } X509CRL; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigX509DataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } 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'. */ -#define xmldsigDSAKeyValueType_P_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Q_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_G_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Y_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_J_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_Seed_BYTES_SIZE 350 -#define xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE 350 -struct xmldsigDSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":P, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - unsigned int P_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Q, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - unsigned int Q_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":G, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - unsigned int G_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Y, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - /* element: "http://www.w3.org/2000/09/xmldsig#":J, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - unsigned int J_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Seed, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - unsigned int Seed_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":PgenCounter, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - unsigned int PgenCounter_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 xmldsigReferenceType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigReferenceType_DigestValue_BYTES_SIZE 350 -struct xmldsigReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigReferenceType_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[xmldsigReferenceType_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[xmldsigReferenceType_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 xmldsigTransformsType 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 xmldsigDigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[xmldsigReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* 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 xmldsigSPKIDataType_SPKISexp_BYTES_SIZE 350 -#define xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE 1 -#define xmldsigSPKIDataType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigSPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - struct { - uint8_t bytes[xmldsigSPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigSPKIDataType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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 xmldsigManifestType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigManifestType_Reference_ARRAY_SIZE 1 -struct xmldsigManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigManifestType_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 xmldsigReferenceType array[xmldsigManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigRetrievalMethodType_Type_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigRetrievalMethodType { - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[xmldsigRetrievalMethodType_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[xmldsigRetrievalMethodType_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 xmldsigTransformsType Transforms ; - unsigned int Transforms_isUsed:1; -}; - -/* 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 xmldsigSignedInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignedInfoType_Reference_ARRAY_SIZE 1 -struct xmldsigSignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignedInfoType_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 xmldsigCanonicalizationMethodType 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 xmldsigSignatureMethodType 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 xmldsigReferenceType array[xmldsigSignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* 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 xmldsigSignaturePropertiesType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct xmldsigSignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignaturePropertiesType_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 xmldsigSignaturePropertyType array[xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* 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 xmldsigKeyValueType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigKeyValueType { - /* 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 xmldsigDSAKeyValueType 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 xmldsigRSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigKeyValueType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_isUsed:1; -}; - -/* 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'. */ -#define xmldsigKeyInfoType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_KeyName_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_KeyValue_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_X509Data_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_PGPData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_SPKIData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigKeyInfoType_MgmtData_ARRAY_SIZE 1 -#define xmldsigKeyInfoType_ANY_CHARACTERS_SIZE 50 + EXTRA_CHAR -struct xmldsigKeyInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigKeyInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyName, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigKeyInfoType_KeyName_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyName; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyValue, 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 { - struct xmldsigKeyValueType array[xmldsigKeyInfoType_KeyValue_ARRAY_SIZE]; - uint16_t arrayLen; - } KeyValue; - /* element: "http://www.w3.org/2000/09/xmldsig#":RetrievalMethod, 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'. */ - struct { - struct xmldsigRetrievalMethodType array[xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE]; - uint16_t arrayLen; - } RetrievalMethod; - /* element: "http://www.w3.org/2000/09/xmldsig#":X509Data, 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'. */ - struct { - struct xmldsigX509DataType array[xmldsigKeyInfoType_X509Data_ARRAY_SIZE]; - uint16_t arrayLen; - } X509Data; - /* element: "http://www.w3.org/2000/09/xmldsig#":PGPData, 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'. */ - struct { - struct xmldsigPGPDataType array[xmldsigKeyInfoType_PGPData_ARRAY_SIZE]; - uint16_t arrayLen; - } PGPData; - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKIData, 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'. */ - struct { - struct xmldsigSPKIDataType array[xmldsigKeyInfoType_SPKIData_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKIData; - /* element: "http://www.w3.org/2000/09/xmldsig#":MgmtData, http://www.w3.org/2001/XMLSchema,string */ - struct { - struct { - exi_string_character_t characters[xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } array[xmldsigKeyInfoType_MgmtData_ARRAY_SIZE]; - uint16_t arrayLen; - } MgmtData; - /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ - struct { - exi_string_character_t characters[xmldsigKeyInfoType_ANY_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ANY ; - unsigned int ANY_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'. */ -#define xmldsigSignatureType_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define xmldsigSignatureType_Object_ARRAY_SIZE 1 -struct xmldsigSignatureType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[xmldsigSignatureType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignedInfo, 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'. */ - struct xmldsigSignedInfoType SignedInfo ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureValue, 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'. */ - struct xmldsigSignatureValueType SignatureValue ; - /* element: "http://www.w3.org/2000/09/xmldsig#":KeyInfo, 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'. */ - struct xmldsigKeyInfoType KeyInfo ; - unsigned int KeyInfo_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Object, 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'. */ - struct { - struct xmldsigObjectType array[xmldsigSignatureType_Object_ARRAY_SIZE]; - uint16_t arrayLen; - } Object; -}; - - - -#define EXIDocument_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIDocument_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIDocument_DigestValue_BYTES_SIZE 350 -#define EXIFragment_DigestValue_BYTES_SIZE 350 -#define EXIFragment_SPKISexp_BYTES_SIZE 350 -#define EXIFragment_KeyName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_MgmtData_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define EXIFragment_Exponent_BYTES_SIZE 350 -#define EXIFragment_P_BYTES_SIZE 350 -#define EXIFragment_Q_BYTES_SIZE 350 -#define EXIFragment_Seed_BYTES_SIZE 350 -#define EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_X509Certificate_BYTES_SIZE 350 -#define EXIFragment_G_BYTES_SIZE 350 -#define EXIFragment_J_BYTES_SIZE 350 -#define EXIFragment_X509SKI_BYTES_SIZE 350 -#define EXIFragment_XPath_CHARACTERS_SIZE 50 + EXTRA_CHAR -#define EXIFragment_Modulus_BYTES_SIZE 350 -#define EXIFragment_X509CRL_BYTES_SIZE 350 -#define EXIFragment_Y_BYTES_SIZE 350 -#define EXIFragment_PgenCounter_BYTES_SIZE 350 - - -/* Global elements of EXI Document */ -struct xmldsigEXIDocument { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct xmldsigSignaturePropertyType SignatureProperty ; - struct xmldsigDSAKeyValueType DSAKeyValue ; - struct xmldsigSignaturePropertiesType SignatureProperties ; - struct xmldsigKeyValueType KeyValue ; - struct xmldsigTransformsType Transforms ; - struct xmldsigDigestMethodType DigestMethod ; - struct xmldsigSignatureType Signature ; - struct xmldsigRetrievalMethodType RetrievalMethod ; - struct xmldsigManifestType Manifest ; - struct xmldsigReferenceType Reference ; - struct xmldsigCanonicalizationMethodType CanonicalizationMethod ; - struct xmldsigRSAKeyValueType RSAKeyValue ; - struct xmldsigTransformType Transform ; - struct xmldsigPGPDataType PGPData ; - struct { - exi_string_character_t characters[EXIDocument_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct xmldsigSignatureMethodType SignatureMethod ; - struct xmldsigKeyInfoType KeyInfo ; - struct xmldsigSPKIDataType SPKIData ; - struct xmldsigX509DataType X509Data ; - struct xmldsigSignatureValueType SignatureValue ; - struct { - exi_string_character_t characters[EXIDocument_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - uint8_t bytes[EXIDocument_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct xmldsigSignedInfoType SignedInfo ; - struct xmldsigObjectType Object ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int SignatureProperty_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int Object_isUsed:1; - - - int _warning_; -}; - - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -/* Possible elements of EXI Fragment */ -struct xmldsigEXIFragment { -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct { - uint8_t bytes[EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - struct xmldsigX509DataType X509Data ; - struct xmldsigKeyValueType KeyValue ; - struct xmldsigDigestMethodType DigestMethod ; - struct { - uint8_t bytes[EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct xmldsigTransformsType Transforms ; - struct { - exi_string_character_t characters[EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct { - exi_string_character_t characters[EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct { - exi_string_character_t characters[EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct xmldsigReferenceType Reference ; - struct xmldsigSignaturePropertiesType SignatureProperties ; - struct { - uint8_t bytes[EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct xmldsigPGPDataType PGPData ; - struct xmldsigDSAKeyValueType DSAKeyValue ; - struct xmldsigSignatureValueType SignatureValue ; - struct xmldsigKeyInfoType KeyInfo ; - struct xmldsigSignaturePropertyType SignatureProperty ; - struct { - uint8_t bytes[EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - int64_t HMACOutputLength ; - struct { - uint8_t bytes[EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct xmldsigManifestType Manifest ; - struct { - uint8_t bytes[EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct xmldsigCanonicalizationMethodType CanonicalizationMethod ; - struct { - uint8_t bytes[EXIFragment_Q_BYTES_SIZE]; - uint16_t bytesLen; - } Q ; - struct { - uint8_t bytes[EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; - struct { - exi_string_character_t characters[EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct { - uint8_t bytes[EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct xmldsigRSAKeyValueType RSAKeyValue ; - struct xmldsigX509IssuerSerialType X509IssuerSerial ; - struct xmldsigSPKIDataType SPKIData ; - 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 xmldsigSignedInfoType SignedInfo ; - struct { - uint8_t bytes[EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct xmldsigTransformType Transform ; - struct { - exi_string_character_t characters[EXIFragment_XPath_CHARACTERS_SIZE]; - uint16_t charactersLen; - } XPath ; - struct xmldsigObjectType Object ; - int64_t X509SerialNumber ; - struct xmldsigRetrievalMethodType RetrievalMethod ; - struct { - uint8_t bytes[EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - struct { - uint8_t bytes[EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct xmldsigSignatureType Signature ; - struct { - uint8_t bytes[EXIFragment_Y_BYTES_SIZE]; - uint16_t bytesLen; - } Y ; - struct xmldsigSignatureMethodType SignatureMethod ; - struct { - uint8_t bytes[EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int DigestValue_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int Manifest_isUsed:1; - unsigned int P_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int Q_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int RSAKeyValue_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int G_isUsed:1; - unsigned int J_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int XPath_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int Modulus_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int PgenCounter_isUsed:1; - - - int _warning_; -}; -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -/* Initialization methods for structs */ - -void init_xmldsigEXIDocument(struct xmldsigEXIDocument* exiDoc); -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -void init_xmldsigEXIFragment(struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ -void init_xmldsigCanonicalizationMethodType(struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -void init_xmldsigManifestType(struct xmldsigManifestType* xmldsigManifestType); -void init_xmldsigObjectType(struct xmldsigObjectType* xmldsigObjectType); -void init_xmldsigTransformType(struct xmldsigTransformType* xmldsigTransformType); -void init_xmldsigSignatureMethodType(struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -void init_xmldsigDigestMethodType(struct xmldsigDigestMethodType* xmldsigDigestMethodType); -void init_xmldsigRetrievalMethodType(struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -void init_xmldsigSignatureValueType(struct xmldsigSignatureValueType* xmldsigSignatureValueType); -void init_xmldsigX509IssuerSerialType(struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -void init_xmldsigSignedInfoType(struct xmldsigSignedInfoType* xmldsigSignedInfoType); -void init_xmldsigSignaturePropertiesType(struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -void init_xmldsigSignaturePropertyType(struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -void init_xmldsigKeyValueType(struct xmldsigKeyValueType* xmldsigKeyValueType); -void init_xmldsigRSAKeyValueType(struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -void init_xmldsigPGPDataType(struct xmldsigPGPDataType* xmldsigPGPDataType); -void init_xmldsigTransformsType(struct xmldsigTransformsType* xmldsigTransformsType); -void init_xmldsigX509DataType(struct xmldsigX509DataType* xmldsigX509DataType); -void init_xmldsigSignatureType(struct xmldsigSignatureType* xmldsigSignatureType); -void init_xmldsigDSAKeyValueType(struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -void init_xmldsigReferenceType(struct xmldsigReferenceType* xmldsigReferenceType); -void init_xmldsigSPKIDataType(struct xmldsigSPKIDataType* xmldsigSPKIDataType); -void init_xmldsigKeyInfoType(struct xmldsigKeyInfoType* xmldsigKeyInfoType); - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/xmldsig/xmldsigEXIDatatypesDecoder.c b/src/xmldsig/xmldsigEXIDatatypesDecoder.c deleted file mode 100644 index 4e4636d..0000000 --- a/src/xmldsig/xmldsigEXIDatatypesDecoder.c +++ /dev/null @@ -1,4919 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - - -#include "xmldsigEXIDatatypesDecoder.h" - -#include "DecoderChannel.h" -#include "EXIHeaderDecoder.h" - -#include "xmldsigEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_xmldsig_DATATYPES_DECODER_C -#define EXI_xmldsig_DATATYPES_DECODER_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -/** event-code */ -static uint32_t eventCode; -static int errn; -static uint32_t uint32; - -/* Forward Declarations */ -static int decode_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -static int decode_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType); -static int decode_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType); -static int decode_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType); -static int decode_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -static int decode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType); -static int decode_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -static int decode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType); -static int decode_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -static int decode_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType); -static int decode_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -static int decode_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -static int decode_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType); -static int decode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -static int decode_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType); -static int decode_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType); -static int decode_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType); -static int decode_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType); -static int decode_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -static int decode_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType); -static int decode_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType); -static int decode_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType); - -/* Deviant data decoding (skip functions) */ - - - /* 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_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - int grammarID = 0; - int done = 0; - - init_xmldsigCanonicalizationMethodType(xmldsigCanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->Algorithm.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->Algorithm.charactersLen, xmldsigCanonicalizationMethodType->Algorithm.characters, xmldsigCanonicalizationMethodType_Algorithm_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[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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->ANY.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.charactersLen, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigCanonicalizationMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigCanonicalizationMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigCanonicalizationMethodType->ANY.charactersLen >= 2) { - xmldsigCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.charactersLen, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigCanonicalizationMethodType->ANY_isUsed = 1u; - 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='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_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType) { - int grammarID = 4; - int done = 0; - - init_xmldsigManifestType(xmldsigManifestType); - - while(!done) { - switch(grammarID) { - case 4: - /* 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, &xmldsigManifestType->Id.charactersLen); - if (errn == 0) { - if (xmldsigManifestType->Id.charactersLen >= 2) { - xmldsigManifestType->Id.charactersLen = (uint16_t)(xmldsigManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigManifestType->Id.charactersLen, xmldsigManifestType->Id.characters, xmldsigManifestType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigManifestType->Id_isUsed = 1u; - grammarID = 5; - break; - case 1: - if (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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 (xmldsigManifestType->Reference.arrayLen < xmldsigManifestType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array[xmldsigManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - 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='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_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType) { - int grammarID = 7; - int done = 0; - - init_xmldsigObjectType(xmldsigObjectType); - - while(!done) { - switch(grammarID) { - case 7: - /* 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, &xmldsigObjectType->Encoding.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Encoding.charactersLen >= 2) { - xmldsigObjectType->Encoding.charactersLen = (uint16_t)(xmldsigObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Encoding.charactersLen, xmldsigObjectType->Encoding.characters, xmldsigObjectType_Encoding_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Encoding_isUsed = 1u; - grammarID = 8; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->Id.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Id.charactersLen >= 2) { - xmldsigObjectType->Id.charactersLen = (uint16_t)(xmldsigObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Id.charactersLen, xmldsigObjectType->Id.characters, xmldsigObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Id_isUsed = 1u; - grammarID = 9; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 4: - done = 1; - grammarID = 3; - break; - case 5: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 8: - /* 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, &xmldsigObjectType->Id.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->Id.charactersLen >= 2) { - xmldsigObjectType->Id.charactersLen = (uint16_t)(xmldsigObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->Id.charactersLen, xmldsigObjectType->Id.characters, xmldsigObjectType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->Id_isUsed = 1u; - grammarID = 9; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 3: - done = 1; - grammarID = 3; - break; - case 4: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 9: - /* 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, &xmldsigObjectType->MimeType.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->MimeType.charactersLen >= 2) { - xmldsigObjectType->MimeType.charactersLen = (uint16_t)(xmldsigObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->MimeType.charactersLen, xmldsigObjectType->MimeType.characters, xmldsigObjectType_MimeType_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->MimeType_isUsed = 1u; - grammarID = 1; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 1: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigObjectType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigObjectType->ANY.charactersLen >= 2) { - xmldsigObjectType->ANY.charactersLen = (uint16_t)(xmldsigObjectType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigObjectType->ANY.charactersLen, xmldsigObjectType->ANY.characters, xmldsigObjectType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigObjectType->ANY_isUsed = 1u; - 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='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_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType) { - int grammarID = 10; - int done = 0; - - init_xmldsigTransformType(xmldsigTransformType); - - while(!done) { - switch(grammarID) { - case 10: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->Algorithm.charactersLen >= 2) { - xmldsigTransformType->Algorithm.charactersLen = (uint16_t)(xmldsigTransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->Algorithm.charactersLen, xmldsigTransformType->Algorithm.characters, xmldsigTransformType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 11; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 11: - /* 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 (xmldsigTransformType->XPath.arrayLen < xmldsigTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen >= 2) { - xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen = (uint16_t)(xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].characters, xmldsigTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->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 = 12; - } 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 = 12; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->ANY.charactersLen >= 2) { - xmldsigTransformType->ANY.charactersLen = (uint16_t)(xmldsigTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->ANY.charactersLen, xmldsigTransformType->ANY.characters, xmldsigTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->ANY_isUsed = 1u; - grammarID = 12; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* 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 (xmldsigTransformType->XPath.arrayLen < xmldsigTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen >= 2) { - xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen = (uint16_t)(xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].charactersLen, xmldsigTransformType->XPath.array[xmldsigTransformType->XPath.arrayLen].characters, xmldsigTransformType_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->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 = 12; - } 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 = 12; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigTransformType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigTransformType->ANY.charactersLen >= 2) { - xmldsigTransformType->ANY.charactersLen = (uint16_t)(xmldsigTransformType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigTransformType->ANY.charactersLen, xmldsigTransformType->ANY.characters, xmldsigTransformType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigTransformType->ANY_isUsed = 1u; - grammarID = 12; - break; - default: - errn = 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_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - int grammarID = 13; - int done = 0; - - init_xmldsigSignatureMethodType(xmldsigSignatureMethodType); - - while(!done) { - switch(grammarID) { - case 13: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->Algorithm.charactersLen >= 2) { - xmldsigSignatureMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigSignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->Algorithm.charactersLen, xmldsigSignatureMethodType->Algorithm.characters, xmldsigSignatureMethodType_Algorithm_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 14; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 14: - /* 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, &xmldsigSignatureMethodType->HMACOutputLength); - xmldsigSignatureMethodType->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 = 2; - } 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 = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 15: - /* 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, &xmldsigSignatureMethodType->HMACOutputLength); - xmldsigSignatureMethodType->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 = 2; - } 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 = 2; - break; - case 2: - done = 1; - grammarID = 3; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignatureMethodType->ANY.charactersLen >= 2) { - xmldsigSignatureMethodType->ANY.charactersLen = (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureMethodType->ANY.charactersLen, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureMethodType->ANY_isUsed = 1u; - grammarID = 15; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - int grammarID = 0; - int done = 0; - - init_xmldsigDigestMethodType(xmldsigDigestMethodType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->Algorithm.charactersLen >= 2) { - xmldsigDigestMethodType->Algorithm.charactersLen = (uint16_t)(xmldsigDigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->Algorithm.charactersLen, xmldsigDigestMethodType->Algorithm.characters, xmldsigDigestMethodType_Algorithm_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[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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->ANY.charactersLen >= 2) { - xmldsigDigestMethodType->ANY.charactersLen = (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->ANY.charactersLen, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigDigestMethodType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigDigestMethodType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigDigestMethodType->ANY.charactersLen >= 2) { - xmldsigDigestMethodType->ANY.charactersLen = (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigDigestMethodType->ANY.charactersLen, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigDigestMethodType->ANY_isUsed = 1u; - 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='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_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - int grammarID = 16; - int done = 0; - - init_xmldsigRetrievalMethodType(xmldsigRetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 16: - /* 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, &xmldsigRetrievalMethodType->Type.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->Type.charactersLen >= 2) { - xmldsigRetrievalMethodType->Type.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->Type.charactersLen, xmldsigRetrievalMethodType->Type.characters, xmldsigRetrievalMethodType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->Type_isUsed = 1u; - grammarID = 17; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->URI.charactersLen >= 2) { - xmldsigRetrievalMethodType->URI.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->URI.charactersLen, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->URI_isUsed = 1u; - grammarID = 18; - break; - case 2: - errn = decode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 3: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 17: - /* 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, &xmldsigRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - if (xmldsigRetrievalMethodType->URI.charactersLen >= 2) { - xmldsigRetrievalMethodType->URI.charactersLen = (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigRetrievalMethodType->URI.charactersLen, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigRetrievalMethodType->URI_isUsed = 1u; - grammarID = 18; - break; - case 1: - errn = decode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 18: - /* 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_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms); - xmldsigRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 19; - break; - case 1: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - int grammarID = 20; - int done = 0; - - init_xmldsigSignatureValueType(xmldsigSignatureValueType); - - while(!done) { - switch(grammarID) { - case 20: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignatureValueType->Id.charactersLen >= 2) { - xmldsigSignatureValueType->Id.charactersLen = (uint16_t)(xmldsigSignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureValueType->Id.charactersLen, xmldsigSignatureValueType->Id.characters, xmldsigSignatureValueType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureValueType->Id_isUsed = 1u; - grammarID = 21; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (xmldsigSignatureValueType->CONTENT.bytesLen) <= xmldsigSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytesLen, xmldsigSignatureValueType->CONTENT.bytes); - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 21: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (xmldsigSignatureValueType->CONTENT.bytesLen) <= xmldsigSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytesLen, xmldsigSignatureValueType->CONTENT.bytes); - } - grammarID = 19; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* 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_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - int grammarID = 22; - int done = 0; - - init_xmldsigX509IssuerSerialType(xmldsigX509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 22: - /* 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, &xmldsigX509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - if (xmldsigX509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - xmldsigX509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(xmldsigX509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509IssuerSerialType->X509IssuerName.charactersLen, xmldsigX509IssuerSerialType->X509IssuerName.characters, xmldsigX509IssuerSerialType_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 = 23; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 23: - /* Element[START_ELEMENT({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, &xmldsigX509IssuerSerialType->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 = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - int grammarID = 24; - int done = 0; - - init_xmldsigSignedInfoType(xmldsigSignedInfoType); - - while(!done) { - switch(grammarID) { - case 24: - /* 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, &xmldsigSignedInfoType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignedInfoType->Id.charactersLen >= 2) { - xmldsigSignedInfoType->Id.charactersLen = (uint16_t)(xmldsigSignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignedInfoType->Id.charactersLen, xmldsigSignedInfoType->Id.characters, xmldsigSignedInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignedInfoType->Id_isUsed = 1u; - grammarID = 25; - break; - case 1: - errn = decode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod); - grammarID = 26; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 25: - /* 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_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod); - grammarID = 26; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 26: - /* 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_xmldsigSignatureMethodType(stream, &xmldsigSignedInfoType->SignatureMethod); - grammarID = 27; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 27: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSignedInfoType->Reference.arrayLen < xmldsigSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array[xmldsigSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 6: - /* 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 (xmldsigSignedInfoType->Reference.arrayLen < xmldsigSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array[xmldsigSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 6; - 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='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_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - int grammarID = 28; - int done = 0; - - init_xmldsigSignaturePropertiesType(xmldsigSignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 28: - /* 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, &xmldsigSignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertiesType->Id.charactersLen >= 2) { - xmldsigSignaturePropertiesType->Id.charactersLen = (uint16_t)(xmldsigSignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertiesType->Id.charactersLen, xmldsigSignaturePropertiesType->Id.characters, xmldsigSignaturePropertiesType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertiesType->Id_isUsed = 1u; - grammarID = 29; - break; - case 1: - if (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 29: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 30: - /* 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 (xmldsigSignaturePropertiesType->SignatureProperty.arrayLen < xmldsigSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array[xmldsigSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 30; - 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='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_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - int grammarID = 31; - int done = 0; - - init_xmldsigSignaturePropertyType(xmldsigSignaturePropertyType); - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Id.charactersLen >= 2) { - xmldsigSignaturePropertyType->Id.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Id.charactersLen, xmldsigSignaturePropertyType->Id.characters, xmldsigSignaturePropertyType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->Id_isUsed = 1u; - grammarID = 32; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Target.charactersLen >= 2) { - xmldsigSignaturePropertyType->Target.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Target.charactersLen, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 33; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 32: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->Target.charactersLen >= 2) { - xmldsigSignaturePropertyType->Target.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->Target.charactersLen, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType_Target_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 33; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 33: - /* 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 = 2; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 34; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 2: - /* 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 = 2; - break; - case 1: - done = 1; - grammarID = 3; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 2; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 34: - /* 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 = 2; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigSignaturePropertyType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigSignaturePropertyType->ANY.charactersLen >= 2) { - xmldsigSignaturePropertyType->ANY.charactersLen = (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignaturePropertyType->ANY.charactersLen, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignaturePropertyType->ANY_isUsed = 1u; - grammarID = 34; - break; - default: - errn = 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_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType) { - int grammarID = 35; - int done = 0; - - init_xmldsigKeyValueType(xmldsigKeyValueType); - - while(!done) { - switch(grammarID) { - case 35: - /* 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_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue); - xmldsigKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue); - xmldsigKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 36; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 37; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 36: - /* 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, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 36; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 37: - /* 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_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue); - xmldsigKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 1: - errn = decode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue); - xmldsigKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 36; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 36; - break; - case 3: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyValueType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyValueType->ANY.charactersLen >= 2) { - xmldsigKeyValueType->ANY.charactersLen = (uint16_t)(xmldsigKeyValueType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyValueType->ANY.charactersLen, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyValueType->ANY_isUsed = 1u; - grammarID = 37; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ -static int decode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - int grammarID = 38; - int done = 0; - - init_xmldsigRSAKeyValueType(xmldsigRSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 38: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigRSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (xmldsigRSAKeyValueType->Modulus.bytesLen) <= xmldsigRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigRSAKeyValueType->Modulus.bytesLen, xmldsigRSAKeyValueType->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 = 39; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 39: - /* 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, &xmldsigRSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (xmldsigRSAKeyValueType->Exponent.bytesLen) <= xmldsigRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigRSAKeyValueType->Exponent.bytesLen, xmldsigRSAKeyValueType->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 = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType) { - int grammarID = 40; - int done = 0; - - init_xmldsigPGPDataType(xmldsigPGPDataType); - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyID.bytesLen) <= xmldsigPGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyID.bytesLen, xmldsigPGPDataType->PGPKeyID.bytes); - } - xmldsigPGPDataType->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 41; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyPacket.bytesLen) <= xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytesLen, xmldsigPGPDataType->PGPKeyPacket.bytes); - } - xmldsigPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 41: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigPGPDataType->PGPKeyPacket.bytesLen); - if (errn == 0) { - errn = (xmldsigPGPDataType->PGPKeyPacket.bytesLen) <= xmldsigPGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytesLen, xmldsigPGPDataType->PGPKeyPacket.bytes); - } - xmldsigPGPDataType->PGPKeyPacket_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 42; - } 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 = 42; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 42: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 42; - 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='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_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType) { - int grammarID = 43; - int done = 0; - - init_xmldsigTransformsType(xmldsigTransformsType); - - while(!done) { - switch(grammarID) { - case 43: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigTransformsType->Transform.arrayLen < xmldsigTransformsType_Transform_ARRAY_SIZE) { - errn = decode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array[xmldsigTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 44: - /* 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 (xmldsigTransformsType->Transform.arrayLen < xmldsigTransformsType_Transform_ARRAY_SIZE) { - errn = decode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array[xmldsigTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 44; - 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='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_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType) { - int grammarID = 45; - int done = 0; - - init_xmldsigX509DataType(xmldsigX509DataType); - - while(!done) { - switch(grammarID) { - case 45: - /* 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 (xmldsigX509DataType->X509IssuerSerial.arrayLen < xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array[xmldsigX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - if (xmldsigX509DataType->X509SKI.arrayLen < xmldsigX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen) <= xmldsigX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigX509DataType->X509SubjectName.arrayLen < xmldsigX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].characters, xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (xmldsigX509DataType->X509Certificate.arrayLen < xmldsigX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen) <= xmldsigX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (xmldsigX509DataType->X509CRL.arrayLen < xmldsigX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen) <= xmldsigX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } 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 = 46; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 46: - /* 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 (xmldsigX509DataType->X509IssuerSerial.arrayLen < xmldsigX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array[xmldsigX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 46; - break; - case 1: - if (xmldsigX509DataType->X509SKI.arrayLen < xmldsigX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen) <= xmldsigX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytesLen, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType->X509SKI.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigX509DataType->X509SubjectName.arrayLen < xmldsigX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].charactersLen, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType->X509SubjectName.arrayLen].characters, xmldsigX509DataType_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (xmldsigX509DataType->X509Certificate.arrayLen < xmldsigX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen) <= xmldsigX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytesLen, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType->X509Certificate.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (xmldsigX509DataType->X509CRL.arrayLen < xmldsigX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen) <= xmldsigX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytesLen, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType->X509CRL.arrayLen].bytes); - } - xmldsigX509DataType->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 = 46; - } 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 = 46; - 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='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_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType) { - int grammarID = 47; - int done = 0; - - init_xmldsigSignatureType(xmldsigSignatureType); - - while(!done) { - switch(grammarID) { - case 47: - /* 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, &xmldsigSignatureType->Id.charactersLen); - if (errn == 0) { - if (xmldsigSignatureType->Id.charactersLen >= 2) { - xmldsigSignatureType->Id.charactersLen = (uint16_t)(xmldsigSignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigSignatureType->Id.charactersLen, xmldsigSignatureType->Id.characters, xmldsigSignatureType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigSignatureType->Id_isUsed = 1u; - grammarID = 48; - break; - case 1: - errn = decode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 48: - /* 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_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo); - grammarID = 49; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* 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_xmldsigSignatureValueType(stream, &xmldsigSignatureType->SignatureValue); - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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_xmldsigKeyInfoType(stream, &xmldsigSignatureType->KeyInfo); - xmldsigSignatureType->KeyInfo_isUsed = 1u; - grammarID = 51; - break; - case 1: - if (xmldsigSignatureType->Object.arrayLen < xmldsigSignatureType_Object_ARRAY_SIZE) { - errn = decode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array[xmldsigSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 51: - /* 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 (xmldsigSignatureType->Object.arrayLen < xmldsigSignatureType_Object_ARRAY_SIZE) { - errn = decode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array[xmldsigSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 51; - 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='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_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - int grammarID = 52; - int done = 0; - - init_xmldsigDSAKeyValueType(xmldsigDSAKeyValueType); - - while(!done) { - switch(grammarID) { - case 52: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->P.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->P.bytesLen) <= xmldsigDSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->P.bytesLen, xmldsigDSAKeyValueType->P.bytes); - } - xmldsigDSAKeyValueType->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 53; - } 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, &xmldsigDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->G.bytesLen) <= xmldsigDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->G.bytesLen, xmldsigDSAKeyValueType->G.bytes); - } - xmldsigDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 54; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 53: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Q.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Q.bytesLen) <= xmldsigDSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Q.bytesLen, xmldsigDSAKeyValueType->Q.bytes); - } - xmldsigDSAKeyValueType->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 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({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->G.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->G.bytesLen) <= xmldsigDSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->G.bytesLen, xmldsigDSAKeyValueType->G.bytes); - } - xmldsigDSAKeyValueType->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 54; - } 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, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } 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({http://www.w3.org/2000/09/xmldsig#}Y)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Y.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Y.bytesLen) <= xmldsigDSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Y.bytesLen, xmldsigDSAKeyValueType->Y.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 55; - } 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({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->J.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->J.bytesLen) <= xmldsigDSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->J.bytesLen, xmldsigDSAKeyValueType->J.bytes); - } - xmldsigDSAKeyValueType->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 57; - } 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, &xmldsigDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Seed.bytesLen) <= xmldsigDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytesLen, xmldsigDSAKeyValueType->Seed.bytes); - } - xmldsigDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 58; - } 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 57: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->Seed.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->Seed.bytesLen) <= xmldsigDSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytesLen, xmldsigDSAKeyValueType->Seed.bytes); - } - xmldsigDSAKeyValueType->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 58; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigDSAKeyValueType->PgenCounter.bytesLen); - if (errn == 0) { - errn = (xmldsigDSAKeyValueType->PgenCounter.bytesLen) <= xmldsigDSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigDSAKeyValueType->PgenCounter.bytesLen, xmldsigDSAKeyValueType->PgenCounter.bytes); - } - xmldsigDSAKeyValueType->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType) { - int grammarID = 59; - int done = 0; - - init_xmldsigReferenceType(xmldsigReferenceType); - - while(!done) { - switch(grammarID) { - case 59: - /* 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, &xmldsigReferenceType->Id.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Id.charactersLen >= 2) { - xmldsigReferenceType->Id.charactersLen = (uint16_t)(xmldsigReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Id.charactersLen, xmldsigReferenceType->Id.characters, xmldsigReferenceType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Id_isUsed = 1u; - grammarID = 60; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->Type.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Type.charactersLen >= 2) { - xmldsigReferenceType->Type.charactersLen = (uint16_t)(xmldsigReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Type.charactersLen, xmldsigReferenceType->Type.characters, xmldsigReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Type_isUsed = 1u; - grammarID = 61; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 3: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 4: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* 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, &xmldsigReferenceType->Type.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->Type.charactersLen >= 2) { - xmldsigReferenceType->Type.charactersLen = (uint16_t)(xmldsigReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->Type.charactersLen, xmldsigReferenceType->Type.characters, xmldsigReferenceType_Type_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->Type_isUsed = 1u; - grammarID = 61; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 2: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 3: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 61: - /* 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, &xmldsigReferenceType->URI.charactersLen); - if (errn == 0) { - if (xmldsigReferenceType->URI.charactersLen >= 2) { - xmldsigReferenceType->URI.charactersLen = (uint16_t)(xmldsigReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigReferenceType->URI.charactersLen, xmldsigReferenceType->URI.characters, xmldsigReferenceType_URI_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigReferenceType->URI_isUsed = 1u; - grammarID = 62; - break; - case 1: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 2: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 62: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms); - xmldsigReferenceType->Transforms_isUsed = 1u; - grammarID = 63; - break; - case 1: - errn = decode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 63: - /* 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_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod); - grammarID = 64; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 64: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigReferenceType->DigestValue.bytesLen); - if (errn == 0) { - errn = (xmldsigReferenceType->DigestValue.bytesLen) <= xmldsigReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigReferenceType->DigestValue.bytesLen, xmldsigReferenceType->DigestValue.bytes); - } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 19; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 19: - /* Element[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#,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_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - int grammarID = 65; - int done = 0; - - init_xmldsigSPKIDataType(xmldsigSPKIDataType); - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } 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 = 67; - break; - case 2: - done = 1; - grammarID = 3; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 67: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (xmldsigSPKIDataType->SPKISexp.arrayLen < xmldsigSPKIDataType_SPKISexp_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen); - if (errn == 0) { - errn = (xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen) <= xmldsigSPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytesLen, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType->SPKISexp.arrayLen].bytes); - } - xmldsigSPKIDataType->SPKISexp.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 66; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - 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='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_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - int grammarID = 68; - int done = 0; - - init_xmldsigKeyInfoType(xmldsigKeyInfoType); - - while(!done) { - switch(grammarID) { - case 68: - /* 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, &xmldsigKeyInfoType->Id.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->Id.charactersLen >= 2) { - xmldsigKeyInfoType->Id.charactersLen = (uint16_t)(xmldsigKeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->Id.charactersLen, xmldsigKeyInfoType->Id.characters, xmldsigKeyInfoType_Id_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->Id_isUsed = 1u; - grammarID = 69; - break; - case 1: - if (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 7: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 69: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 70: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - done = 1; - grammarID = 3; - break; - case 9: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 70; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* 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 (xmldsigKeyInfoType->KeyName.arrayLen < xmldsigKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].charactersLen, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType->KeyName.arrayLen].characters, xmldsigKeyInfoType_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (xmldsigKeyInfoType->KeyValue.arrayLen < xmldsigKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array[xmldsigKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 2: - if (xmldsigKeyInfoType->RetrievalMethod.arrayLen < xmldsigKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array[xmldsigKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 3: - if (xmldsigKeyInfoType->X509Data.arrayLen < xmldsigKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array[xmldsigKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 4: - if (xmldsigKeyInfoType->PGPData.arrayLen < xmldsigKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array[xmldsigKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 5: - if (xmldsigKeyInfoType->SPKIData.arrayLen < xmldsigKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array[xmldsigKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 70; - break; - case 6: - if (xmldsigKeyInfoType->MgmtData.arrayLen < xmldsigKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].charactersLen, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType->MgmtData.arrayLen].characters, xmldsigKeyInfoType_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->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 = 70; - } 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 = 70; - break; - case 8: - errn = decodeUnsignedInteger16(stream, &xmldsigKeyInfoType->ANY.charactersLen); - if (errn == 0) { - if (xmldsigKeyInfoType->ANY.charactersLen >= 2) { - xmldsigKeyInfoType->ANY.charactersLen = (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, xmldsigKeyInfoType->ANY.charactersLen, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType_ANY_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - xmldsigKeyInfoType->ANY_isUsed = 1u; - grammarID = 71; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - - -int decode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({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({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({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - init_xmldsigEXIDocument(exiDoc); - errn = decodeNBitUnsignedInteger(stream, 5, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_xmldsigCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); - exiDoc->CanonicalizationMethod_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_xmldsigDSAKeyValueType(stream, &exiDoc->DSAKeyValue); - exiDoc->DSAKeyValue_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_xmldsigDigestMethodType(stream, &exiDoc->DigestMethod); - exiDoc->DigestMethod_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiDoc->DigestValue.bytesLen) <= EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); - } - exiDoc->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 4: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_xmldsigKeyInfoType(stream, &exiDoc->KeyInfo); - exiDoc->KeyInfo_isUsed = 1u; - break; - case 5: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - if (exiDoc->KeyName.charactersLen >= 2) { - exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, EXIDocument_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_xmldsigKeyValueType(stream, &exiDoc->KeyValue); - exiDoc->KeyValue_isUsed = 1u; - break; - case 7: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_xmldsigManifestType(stream, &exiDoc->Manifest); - exiDoc->Manifest_isUsed = 1u; - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - if (exiDoc->MgmtData.charactersLen >= 2) { - exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, EXIDocument_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiDoc->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 9: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_xmldsigObjectType(stream, &exiDoc->Object); - exiDoc->Object_isUsed = 1u; - break; - case 10: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_xmldsigPGPDataType(stream, &exiDoc->PGPData); - exiDoc->PGPData_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_xmldsigRSAKeyValueType(stream, &exiDoc->RSAKeyValue); - exiDoc->RSAKeyValue_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_xmldsigReferenceType(stream, &exiDoc->Reference); - exiDoc->Reference_isUsed = 1u; - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_xmldsigRetrievalMethodType(stream, &exiDoc->RetrievalMethod); - exiDoc->RetrievalMethod_isUsed = 1u; - break; - case 14: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_xmldsigSPKIDataType(stream, &exiDoc->SPKIData); - exiDoc->SPKIData_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_xmldsigSignatureType(stream, &exiDoc->Signature); - exiDoc->Signature_isUsed = 1u; - break; - case 16: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_xmldsigSignatureMethodType(stream, &exiDoc->SignatureMethod); - exiDoc->SignatureMethod_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_xmldsigSignaturePropertiesType(stream, &exiDoc->SignatureProperties); - exiDoc->SignatureProperties_isUsed = 1u; - break; - case 18: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_xmldsigSignaturePropertyType(stream, &exiDoc->SignatureProperty); - exiDoc->SignatureProperty_isUsed = 1u; - break; - case 19: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_xmldsigSignatureValueType(stream, &exiDoc->SignatureValue); - exiDoc->SignatureValue_isUsed = 1u; - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_xmldsigSignedInfoType(stream, &exiDoc->SignedInfo); - exiDoc->SignedInfo_isUsed = 1u; - break; - case 21: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_xmldsigTransformType(stream, &exiDoc->Transform); - exiDoc->Transform_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_xmldsigTransformsType(stream, &exiDoc->Transforms); - exiDoc->Transforms_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_xmldsigX509DataType(stream, &exiDoc->X509Data); - exiDoc->X509Data_isUsed = 1u; - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - - } - - (void)exiDoc; /* avoid unused warning */ - (void)eventCode; /* avoid unused warning */ - (void)uint32; /* avoid unused warning */ - - return errn; -} - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int decode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag) { - errn = readEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), 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({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), 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_GENERIC, END_DOCUMENT] */ - init_xmldsigEXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if(errn == 0) { - switch(eventCode) { - case 0: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = decode_xmldsigCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); - exiFrag->CanonicalizationMethod_isUsed = 1u; - break; - case 1: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = decode_xmldsigDSAKeyValueType(stream, &exiFrag->DSAKeyValue); - exiFrag->DSAKeyValue_isUsed = 1u; - break; - case 2: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = decode_xmldsigDigestMethodType(stream, &exiFrag->DigestMethod); - exiFrag->DigestMethod_isUsed = 1u; - break; - case 3: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); - if (errn == 0) { - errn = (exiFrag->DigestValue.bytesLen) <= EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); - } - exiFrag->DigestValue_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 4: - /* 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; - } - } - break; - case 5: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); - if (errn == 0) { - errn = (exiFrag->G.bytesLen) <= EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); - } - exiFrag->G_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 6: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); - exiFrag->HMACOutputLength_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 7: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); - if (errn == 0) { - errn = (exiFrag->J.bytesLen) <= EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); - } - exiFrag->J_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 8: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = decode_xmldsigKeyInfoType(stream, &exiFrag->KeyInfo); - exiFrag->KeyInfo_isUsed = 1u; - break; - case 9: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); - if (errn == 0) { - if (exiFrag->KeyName.charactersLen >= 2) { - exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, EXIFragment_KeyName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->KeyName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 10: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = decode_xmldsigKeyValueType(stream, &exiFrag->KeyValue); - exiFrag->KeyValue_isUsed = 1u; - break; - case 11: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = decode_xmldsigManifestType(stream, &exiFrag->Manifest); - exiFrag->Manifest_isUsed = 1u; - break; - case 12: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); - if (errn == 0) { - if (exiFrag->MgmtData.charactersLen >= 2) { - exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, EXIFragment_MgmtData_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->MgmtData_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 13: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); - if (errn == 0) { - errn = (exiFrag->Modulus.bytesLen) <= EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); - } - exiFrag->Modulus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 14: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = decode_xmldsigObjectType(stream, &exiFrag->Object); - exiFrag->Object_isUsed = 1u; - break; - case 15: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); - if (errn == 0) { - errn = (exiFrag->P.bytesLen) <= EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); - } - exiFrag->P_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 16: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = decode_xmldsigPGPDataType(stream, &exiFrag->PGPData); - exiFrag->PGPData_isUsed = 1u; - break; - case 17: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); - if (errn == 0) { - errn = (exiFrag->PGPKeyID.bytesLen) <= EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); - } - exiFrag->PGPKeyID_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 18: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ - break; - case 19: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); - if (errn == 0) { - errn = (exiFrag->PgenCounter.bytesLen) <= EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); - } - exiFrag->PgenCounter_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 20: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); - if (errn == 0) { - errn = (exiFrag->Q.bytesLen) <= EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); - } - exiFrag->Q_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 21: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = decode_xmldsigRSAKeyValueType(stream, &exiFrag->RSAKeyValue); - exiFrag->RSAKeyValue_isUsed = 1u; - break; - case 22: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = decode_xmldsigReferenceType(stream, &exiFrag->Reference); - exiFrag->Reference_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = decode_xmldsigRetrievalMethodType(stream, &exiFrag->RetrievalMethod); - exiFrag->RetrievalMethod_isUsed = 1u; - break; - case 24: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = decode_xmldsigSPKIDataType(stream, &exiFrag->SPKIData); - exiFrag->SPKIData_isUsed = 1u; - break; - case 25: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); - if (errn == 0) { - errn = (exiFrag->SPKISexp.bytesLen) <= EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); - } - exiFrag->SPKISexp_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 26: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); - if (errn == 0) { - errn = (exiFrag->Seed.bytesLen) <= EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); - } - exiFrag->Seed_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = decode_xmldsigSignatureType(stream, &exiFrag->Signature); - exiFrag->Signature_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = decode_xmldsigSignatureMethodType(stream, &exiFrag->SignatureMethod); - exiFrag->SignatureMethod_isUsed = 1u; - break; - case 29: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = decode_xmldsigSignaturePropertiesType(stream, &exiFrag->SignatureProperties); - exiFrag->SignatureProperties_isUsed = 1u; - break; - case 30: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = decode_xmldsigSignaturePropertyType(stream, &exiFrag->SignatureProperty); - exiFrag->SignatureProperty_isUsed = 1u; - break; - case 31: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = decode_xmldsigSignatureValueType(stream, &exiFrag->SignatureValue); - exiFrag->SignatureValue_isUsed = 1u; - break; - case 32: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = decode_xmldsigSignedInfoType(stream, &exiFrag->SignedInfo); - exiFrag->SignedInfo_isUsed = 1u; - break; - case 33: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_xmldsigTransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 34: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_xmldsigTransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 35: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509CRL.bytesLen) <= EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); - } - exiFrag->X509CRL_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 36: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509Certificate.bytesLen) <= EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); - } - exiFrag->X509Certificate_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 37: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = decode_xmldsigX509DataType(stream, &exiFrag->X509Data); - exiFrag->X509Data_isUsed = 1u; - break; - case 38: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); - if (errn == 0) { - if (exiFrag->X509IssuerName.charactersLen >= 2) { - exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, EXIFragment_X509IssuerName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509IssuerName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 39: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = decode_xmldsigX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); - exiFrag->X509IssuerSerial_isUsed = 1u; - break; - case 40: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); - if (errn == 0) { - errn = (exiFrag->X509SKI.bytesLen) <= EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); - } - exiFrag->X509SKI_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 41: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); - exiFrag->X509SerialNumber_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 42: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); - if (errn == 0) { - if (exiFrag->X509SubjectName.charactersLen >= 2) { - exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, EXIFragment_X509SubjectName_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->X509SubjectName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 43: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); - if (errn == 0) { - if (exiFrag->XPath.charactersLen >= 2) { - exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, EXIFragment_XPath_CHARACTERS_SIZE); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->XPath_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 44: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); - if (errn == 0) { - errn = (exiFrag->Y.bytesLen) <= EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); - } - exiFrag->Y_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - default: - errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; - break; - } - } - if(errn == 0) { - /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (eventCode != 46) { - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; - } - } - - } - - (void)exiFrag; /* avoid unused warning */ - - return errn; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/src/xmldsig/xmldsigEXIDatatypesDecoder.h b/src/xmldsig/xmldsigEXIDatatypesDecoder.h deleted file mode 100644 index 5c61d90..0000000 --- a/src/xmldsig/xmldsigEXIDatatypesDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesDecoder.h - * \brief Decoder for datatype definitions - * - */ - -#ifndef EXI_xmldsig_DATATYPES_DECODER_H -#define EXI_xmldsig_DATATYPES_DECODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "xmldsigEXIDatatypes.h" - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int decode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc); - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int decode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/xmldsig/xmldsigEXIDatatypesEncoder.c b/src/xmldsig/xmldsigEXIDatatypesEncoder.c deleted file mode 100644 index 1fc92d2..0000000 --- a/src/xmldsig/xmldsigEXIDatatypesEncoder.c +++ /dev/null @@ -1,3589 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - - -#include "xmldsigEXIDatatypesEncoder.h" - -#include "EncoderChannel.h" -#include "EXIHeaderEncoder.h" - -#include "xmldsigEXIDatatypes.h" -#include "ErrorCodes.h" - -#ifndef EXI_xmldsig_DATATYPES_ENCODER_C -#define EXI_xmldsig_DATATYPES_ENCODER_C - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -static int errn; - -/* Forward Declarations */ -static int encode_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType); -static int encode_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType); -static int encode_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType); -static int encode_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType); -static int encode_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType); -static int encode_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType); -static int encode_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType); -static int encode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType); -static int encode_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType); -static int encode_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType); -static int encode_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType); -static int encode_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType); -static int encode_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType); -static int encode_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType); -static int encode_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType); -static int encode_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType); -static int encode_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType); -static int encode_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType); -static int encode_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType); -static int encode_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType); -static int encode_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType); -static int encode_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType); - - - /* 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_xmldsigCanonicalizationMethodType(bitstream_t* stream, struct xmldsigCanonicalizationMethodType* xmldsigCanonicalizationMethodType) { - int grammarID = 0; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* 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)(xmldsigCanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->Algorithm.characters, xmldsigCanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigCanonicalizationMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigCanonicalizationMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigCanonicalizationMethodType->ANY.characters, xmldsigCanonicalizationMethodType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigManifestType(bitstream_t* stream, struct xmldsigManifestType* xmldsigManifestType) { - int grammarID = 4; - int done = 0; - - unsigned int xmldsigManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 4: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( xmldsigManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigManifestType->Id.characters, xmldsigManifestType->Id.charactersLen); - } - } - grammarID = 5; - } else if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (xmldsigManifestType_Reference_currArrayIndex < xmldsigManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigManifestType->Reference.array [xmldsigManifestType_Reference_currArrayIndex++]); - } - grammarID = 6; - } 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='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_xmldsigObjectType(bitstream_t* stream, struct xmldsigObjectType* xmldsigObjectType) { - int grammarID = 7; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 7: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Encoding.characters, xmldsigObjectType->Encoding.charactersLen); - } - } - grammarID = 8; - } else if ( xmldsigObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Id.characters, xmldsigObjectType->Id.charactersLen); - } - } - grammarID = 9; - } else if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 8: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->Id.characters, xmldsigObjectType->Id.charactersLen); - } - } - grammarID = 9; - } else if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 9: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->MimeType.characters, xmldsigObjectType->MimeType.charactersLen); - } - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigObjectType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigObjectType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigObjectType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigObjectType->ANY.characters, xmldsigObjectType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigTransformType(bitstream_t* stream, struct xmldsigTransformType* xmldsigTransformType) { - int grammarID = 10; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigTransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 10: - /* 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)(xmldsigTransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->Algorithm.characters, xmldsigTransformType->Algorithm.charactersLen); - } - } - grammarID = 11; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 11: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (xmldsigTransformType_XPath_currArrayIndex < xmldsigTransformType->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)(xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].characters, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen); - xmldsigTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 12; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 12; - } else if ( xmldsigTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->ANY.characters, xmldsigTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 12; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 12: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (xmldsigTransformType_XPath_currArrayIndex < xmldsigTransformType->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)(xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].characters, xmldsigTransformType->XPath.array[xmldsigTransformType_XPath_currArrayIndex].charactersLen); - xmldsigTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 12; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 12; - } else if ( xmldsigTransformType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigTransformType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigTransformType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigTransformType->ANY.characters, xmldsigTransformType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 12; - } 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_xmldsigSignatureMethodType(bitstream_t* stream, struct xmldsigSignatureMethodType* xmldsigSignatureMethodType) { - int grammarID = 13; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 13: - /* 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)(xmldsigSignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->Algorithm.characters, xmldsigSignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 14; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigSignatureMethodType->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, xmldsigSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 15; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigSignatureMethodType->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, xmldsigSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 2; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignatureMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureMethodType->ANY.characters, xmldsigSignatureMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 15; - } 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_xmldsigDigestMethodType(bitstream_t* stream, struct xmldsigDigestMethodType* xmldsigDigestMethodType) { - int grammarID = 0; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* 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)(xmldsigDigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->Algorithm.characters, xmldsigDigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 1: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigDigestMethodType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigDigestMethodType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigDigestMethodType->ANY.characters, xmldsigDigestMethodType->ANY.charactersLen); - } - } - wcDone = 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='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_xmldsigRetrievalMethodType(bitstream_t* stream, struct xmldsigRetrievalMethodType* xmldsigRetrievalMethodType) { - int grammarID = 16; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 16: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->Type.characters, xmldsigRetrievalMethodType->Type.charactersLen); - } - } - grammarID = 17; - } else if ( xmldsigRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 18; - } else if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigRetrievalMethodType->URI.characters, xmldsigRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 18; - } else if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( xmldsigRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigRetrievalMethodType->Transforms ); - } - grammarID = 19; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_xmldsigSignatureValueType(bitstream_t* stream, struct xmldsigSignatureValueType* xmldsigSignatureValueType) { - int grammarID = 20; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 20: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( xmldsigSignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureValueType->Id.characters, xmldsigSignatureValueType->Id.charactersLen); - } - } - grammarID = 21; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytes, xmldsigSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 21: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSignatureValueType->CONTENT.bytes, xmldsigSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigX509IssuerSerialType(bitstream_t* stream, struct xmldsigX509IssuerSerialType* xmldsigX509IssuerSerialType) { - int grammarID = 22; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 22: - /* 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)(xmldsigX509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509IssuerSerialType->X509IssuerName.characters, xmldsigX509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 23; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 23: - /* 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, xmldsigX509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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#,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_xmldsigSignedInfoType(bitstream_t* stream, struct xmldsigSignedInfoType* xmldsigSignedInfoType) { - int grammarID = 24; - int done = 0; - - unsigned int xmldsigSignedInfoType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 24: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( xmldsigSignedInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignedInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignedInfoType->Id.characters, xmldsigSignedInfoType->Id.charactersLen); - } - } - grammarID = 25; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod ); - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &xmldsigSignedInfoType->CanonicalizationMethod ); - } - grammarID = 26; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 26: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &xmldsigSignedInfoType->SignatureMethod ); - } - grammarID = 27; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (xmldsigSignedInfoType_Reference_currArrayIndex < xmldsigSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array [xmldsigSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 6; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 6: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (xmldsigSignedInfoType_Reference_currArrayIndex < xmldsigSignedInfoType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &xmldsigSignedInfoType->Reference.array [xmldsigSignedInfoType_Reference_currArrayIndex++]); - } - grammarID = 6; - } 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='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_xmldsigSignaturePropertiesType(bitstream_t* stream, struct xmldsigSignaturePropertiesType* xmldsigSignaturePropertiesType) { - int grammarID = 28; - int done = 0; - - unsigned int xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 28: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( xmldsigSignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertiesType->Id.characters, xmldsigSignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 29; - } else if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 29: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 30: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex < xmldsigSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &xmldsigSignaturePropertiesType->SignatureProperty.array [xmldsigSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 30; - } 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='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_xmldsigSignaturePropertyType(bitstream_t* stream, struct xmldsigSignaturePropertyType* xmldsigSignaturePropertyType) { - int grammarID = 31; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 31: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( xmldsigSignaturePropertyType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Id.characters, xmldsigSignaturePropertyType->Id.charactersLen); - } - } - grammarID = 32; - } 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)(xmldsigSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 32: - /* 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)(xmldsigSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->Target.characters, xmldsigSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 33; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 2: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 2; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 2; - } else if ( xmldsigSignaturePropertyType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignaturePropertyType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignaturePropertyType->ANY.characters, xmldsigSignaturePropertyType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 34; - } 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_xmldsigKeyValueType(bitstream_t* stream, struct xmldsigKeyValueType* xmldsigKeyValueType) { - int grammarID = 35; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 35: - /* 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 ( xmldsigKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue ); - } - grammarID = 36; - } else if ( xmldsigKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue ); - } - grammarID = 36; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 37; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( xmldsigKeyValueType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 37: - /* 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 ( xmldsigKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &xmldsigKeyValueType->DSAKeyValue ); - } - grammarID = 36; - } else if ( xmldsigKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &xmldsigKeyValueType->RSAKeyValue ); - } - grammarID = 36; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else if ( xmldsigKeyValueType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyValueType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyValueType->ANY.characters, xmldsigKeyValueType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 37; - } 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_xmldsigRSAKeyValueType(bitstream_t* stream, struct xmldsigRSAKeyValueType* xmldsigRSAKeyValueType) { - int grammarID = 38; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 38: - /* 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)(xmldsigRSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigRSAKeyValueType->Modulus.bytes, xmldsigRSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 39; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 39: - /* 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)(xmldsigRSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigRSAKeyValueType->Exponent.bytes, xmldsigRSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigPGPDataType(bitstream_t* stream, struct xmldsigPGPDataType* xmldsigPGPDataType) { - int grammarID = 40; - int done = 0; - int wcDone = 0; - - - while(!done) { - switch(grammarID) { - case 40: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyID.bytes, xmldsigPGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 41; - } else if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytes, xmldsigPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 41: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( xmldsigPGPDataType->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)(xmldsigPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigPGPDataType->PGPKeyPacket.bytes, xmldsigPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 42; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 42; - } else if ( xmldsigPGPDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 42: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 42; - } else if ( xmldsigPGPDataType->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='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_xmldsigTransformsType(bitstream_t* stream, struct xmldsigTransformsType* xmldsigTransformsType) { - int grammarID = 43; - int done = 0; - - unsigned int xmldsigTransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 43: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (xmldsigTransformsType_Transform_currArrayIndex < xmldsigTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array [xmldsigTransformsType_Transform_currArrayIndex++]); - } - grammarID = 44; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 44: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (xmldsigTransformsType_Transform_currArrayIndex < xmldsigTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &xmldsigTransformsType->Transform.array [xmldsigTransformsType_Transform_currArrayIndex++]); - } - grammarID = 44; - } 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='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_xmldsigX509DataType(bitstream_t* stream, struct xmldsigX509DataType* xmldsigX509DataType) { - int grammarID = 45; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigX509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509SKI_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509Certificate_currArrayIndex = 0; - unsigned int xmldsigX509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 45: - /* 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 (xmldsigX509DataType_X509IssuerSerial_currArrayIndex < xmldsigX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array [xmldsigX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SKI_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytes, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen); - xmldsigX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SubjectName_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].characters, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen); - xmldsigX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509Certificate_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytes, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen); - xmldsigX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509CRL_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytes, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen); - xmldsigX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 46; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 46: - /* 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 (xmldsigX509DataType_X509IssuerSerial_currArrayIndex < xmldsigX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &xmldsigX509DataType->X509IssuerSerial.array [xmldsigX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SKI_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytes, xmldsigX509DataType->X509SKI.array[xmldsigX509DataType_X509SKI_currArrayIndex].bytesLen); - xmldsigX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509SubjectName_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].characters, xmldsigX509DataType->X509SubjectName.array[xmldsigX509DataType_X509SubjectName_currArrayIndex].charactersLen); - xmldsigX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509Certificate_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytes, xmldsigX509DataType->X509Certificate.array[xmldsigX509DataType_X509Certificate_currArrayIndex].bytesLen); - xmldsigX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (xmldsigX509DataType_X509CRL_currArrayIndex < xmldsigX509DataType->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)(xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytes, xmldsigX509DataType->X509CRL.array[xmldsigX509DataType_X509CRL_currArrayIndex].bytesLen); - xmldsigX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 46; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 46; - } else if ( xmldsigX509DataType->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='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_xmldsigSignatureType(bitstream_t* stream, struct xmldsigSignatureType* xmldsigSignatureType) { - int grammarID = 47; - int done = 0; - - unsigned int xmldsigSignatureType_Object_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 47: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( xmldsigSignatureType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigSignatureType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigSignatureType->Id.characters, xmldsigSignatureType->Id.charactersLen); - } - } - grammarID = 48; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 48: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &xmldsigSignatureType->SignedInfo ); - } - grammarID = 49; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &xmldsigSignatureType->SignatureValue ); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if ( xmldsigSignatureType->KeyInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &xmldsigSignatureType->KeyInfo ); - } - grammarID = 51; - } else if (xmldsigSignatureType_Object_currArrayIndex < xmldsigSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array [xmldsigSignatureType_Object_currArrayIndex++]); - } - grammarID = 51; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 51: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ - if (xmldsigSignatureType_Object_currArrayIndex < xmldsigSignatureType->Object.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &xmldsigSignatureType->Object.array [xmldsigSignatureType_Object_currArrayIndex++]); - } - grammarID = 51; - } 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='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_xmldsigDSAKeyValueType(bitstream_t* stream, struct xmldsigDSAKeyValueType* xmldsigDSAKeyValueType) { - int grammarID = 52; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 52: - /* 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 ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->P.bytes, xmldsigDSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 53; - } else if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->G.bytes, xmldsigDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Q.bytes, xmldsigDSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 56; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->G.bytes, xmldsigDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 54; - } 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 54: - /* 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)(xmldsigDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Y.bytes, xmldsigDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 55; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 55: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->J.bytes, xmldsigDSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 57; - } else if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytes, xmldsigDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 57: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->Seed.bytes, xmldsigDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( xmldsigDSAKeyValueType->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)(xmldsigDSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigDSAKeyValueType->PgenCounter.bytes, xmldsigDSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigReferenceType(bitstream_t* stream, struct xmldsigReferenceType* xmldsigReferenceType) { - int grammarID = 59; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 59: - /* 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 ( xmldsigReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Id.characters, xmldsigReferenceType->Id.charactersLen); - } - } - grammarID = 60; - } else if ( xmldsigReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Type.characters, xmldsigReferenceType->Type.charactersLen); - } - } - grammarID = 61; - } else if ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 60: - /* 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 ( xmldsigReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->Type.characters, xmldsigReferenceType->Type.charactersLen); - } - } - grammarID = 61; - } else if ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 61: - /* 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 ( xmldsigReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigReferenceType->URI.characters, xmldsigReferenceType->URI.charactersLen); - } - } - grammarID = 62; - } else if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 62: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( xmldsigReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &xmldsigReferenceType->Transforms ); - } - grammarID = 63; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 63: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &xmldsigReferenceType->DigestMethod ); - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* 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)(xmldsigReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigReferenceType->DigestValue.bytes, xmldsigReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 19; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* 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_xmldsigSPKIDataType(bitstream_t* stream, struct xmldsigSPKIDataType* xmldsigSPKIDataType) { - int grammarID = 65; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigSPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 67; - } else if ( xmldsigSPKIDataType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (xmldsigSPKIDataType_SPKISexp_currArrayIndex < xmldsigSPKIDataType->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)(xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytes, xmldsigSPKIDataType->SPKISexp.array[xmldsigSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - xmldsigSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 66; - } else if ( xmldsigSPKIDataType->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='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_xmldsigKeyInfoType(bitstream_t* stream, struct xmldsigKeyInfoType* xmldsigKeyInfoType) { - int grammarID = 68; - int done = 0; - int wcDone = 0; - - unsigned int xmldsigKeyInfoType_KeyName_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_X509Data_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_PGPData_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int xmldsigKeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 68: - /* 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 ( xmldsigKeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->Id.characters, xmldsigKeyInfoType->Id.charactersLen); - } - } - grammarID = 69; - } else if (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 70: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 0u || wcDone ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 3; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 9); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 70; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* 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 (xmldsigKeyInfoType_KeyName_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].characters, xmldsigKeyInfoType->KeyName.array[xmldsigKeyInfoType_KeyName_currArrayIndex].charactersLen); - xmldsigKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (xmldsigKeyInfoType_KeyValue_currArrayIndex < xmldsigKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &xmldsigKeyInfoType->KeyValue.array [xmldsigKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_RetrievalMethod_currArrayIndex < xmldsigKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &xmldsigKeyInfoType->RetrievalMethod.array [xmldsigKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_X509Data_currArrayIndex < xmldsigKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &xmldsigKeyInfoType->X509Data.array [xmldsigKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_PGPData_currArrayIndex < xmldsigKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &xmldsigKeyInfoType->PGPData.array [xmldsigKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_SPKIData_currArrayIndex < xmldsigKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &xmldsigKeyInfoType->SPKIData.array [xmldsigKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 70; - } else if (xmldsigKeyInfoType_MgmtData_currArrayIndex < xmldsigKeyInfoType->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)(xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].characters, xmldsigKeyInfoType->MgmtData.array[xmldsigKeyInfoType_MgmtData_currArrayIndex].charactersLen); - xmldsigKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 70; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 70; - } else if ( xmldsigKeyInfoType->ANY_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(xmldsigKeyInfoType->ANY.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, xmldsigKeyInfoType->ANY.characters, xmldsigKeyInfoType->ANY.charactersLen); - } - } - wcDone = 1; - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - - - -int encode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* DocContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({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({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({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); - } - } else if ( exiDoc->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 1); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &exiDoc->DSAKeyValue ); - } - } else if ( exiDoc->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &exiDoc->DigestMethod ); - } - } else if ( exiDoc->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiDoc->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiDoc->DigestValue.bytes, exiDoc->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 5, 4); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &exiDoc->KeyInfo ); - } - } else if ( exiDoc->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 5, 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)(exiDoc->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->KeyName.characters, exiDoc->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 6); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &exiDoc->KeyValue ); - } - } else if ( exiDoc->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 5, 7); - if(errn == 0) { - errn = encode_xmldsigManifestType(stream, &exiDoc->Manifest ); - } - } else if ( exiDoc->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 8); - 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)(exiDoc->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiDoc->MgmtData.characters, exiDoc->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiDoc->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 5, 9); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &exiDoc->Object ); - } - } else if ( exiDoc->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 10); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &exiDoc->PGPData ); - } - } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 11); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &exiDoc->RSAKeyValue ); - } - } else if ( exiDoc->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 5, 12); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &exiDoc->Reference ); - } - } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 13); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &exiDoc->RetrievalMethod ); - } - } else if ( exiDoc->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 5, 14); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &exiDoc->SPKIData ); - } - } else if ( exiDoc->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 5, 15); - if(errn == 0) { - errn = encode_xmldsigSignatureType(stream, &exiDoc->Signature ); - } - } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 5, 16); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &exiDoc->SignatureMethod ); - } - } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 5, 17); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertiesType(stream, &exiDoc->SignatureProperties ); - } - } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 5, 18); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &exiDoc->SignatureProperty ); - } - } else if ( exiDoc->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 5, 19); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &exiDoc->SignatureValue ); - } - } else if ( exiDoc->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 5, 20); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &exiDoc->SignedInfo ); - } - } else if ( exiDoc->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 5, 21); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &exiDoc->Transform ); - } - } else if ( exiDoc->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 5, 22); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &exiDoc->Transforms ); - } - } else if ( exiDoc->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 5, 23); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &exiDoc->X509Data ); - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - - } - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int encode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag) { - errn = writeEXIHeader(stream); - - if(errn == 0) { - /* FragmentContent[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), 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({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), 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({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), 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({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), 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_GENERIC, END_DOCUMENT] */ - if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_xmldsigCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); - } - } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_xmldsigDSAKeyValueType(stream, &exiFrag->DSAKeyValue ); - } - } else if ( exiFrag->DigestMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_xmldsigDigestMethodType(stream, &exiFrag->DigestMethod ); - } - } else if ( exiFrag->DigestValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->DigestValue.bytes, exiFrag->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Exponent_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = encodeNBitUnsignedInteger(stream, 6, 4); - 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->G_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->G.bytes, exiFrag->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->HMACOutputLength); - /* 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, 6, 7); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->J.bytes, exiFrag->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_xmldsigKeyInfoType(stream, &exiFrag->KeyInfo ); - } - } else if ( exiFrag->KeyName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 9); - 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)(exiFrag->KeyName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->KeyName.characters, exiFrag->KeyName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->KeyValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_xmldsigKeyValueType(stream, &exiFrag->KeyValue ); - } - } else if ( exiFrag->Manifest_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_xmldsigManifestType(stream, &exiFrag->Manifest ); - } - } else if ( exiFrag->MgmtData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 12); - 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)(exiFrag->MgmtData.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->MgmtData.characters, exiFrag->MgmtData.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Modulus_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Modulus.bytes, exiFrag->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Object_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_xmldsigObjectType(stream, &exiFrag->Object ); - } - } else if ( exiFrag->P_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->P.bytes, exiFrag->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_xmldsigPGPDataType(stream, &exiFrag->PGPData ); - } - } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PGPKeyID.bytes, exiFrag->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ - } else if ( exiFrag->PgenCounter_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->PgenCounter.bytes, exiFrag->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Q_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Q.bytes, exiFrag->Q.bytesLen); - } - /* 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, 6, 21); - if(errn == 0) { - errn = encode_xmldsigRSAKeyValueType(stream, &exiFrag->RSAKeyValue ); - } - } else if ( exiFrag->Reference_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_xmldsigReferenceType(stream, &exiFrag->Reference ); - } - } else if ( exiFrag->RetrievalMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_xmldsigRetrievalMethodType(stream, &exiFrag->RetrievalMethod ); - } - } else if ( exiFrag->SPKIData_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_xmldsigSPKIDataType(stream, &exiFrag->SPKIData ); - } - } else if ( exiFrag->SPKISexp_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SPKISexp.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->SPKISexp.bytes, exiFrag->SPKISexp.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Seed_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Seed.bytes, exiFrag->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Signature_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_xmldsigSignatureType(stream, &exiFrag->Signature ); - } - } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_xmldsigSignatureMethodType(stream, &exiFrag->SignatureMethod ); - } - } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertiesType(stream, &exiFrag->SignatureProperties ); - } - } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_xmldsigSignaturePropertyType(stream, &exiFrag->SignatureProperty ); - } - } else if ( exiFrag->SignatureValue_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_xmldsigSignatureValueType(stream, &exiFrag->SignatureValue ); - } - } else if ( exiFrag->SignedInfo_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_xmldsigSignedInfoType(stream, &exiFrag->SignedInfo ); - } - } else if ( exiFrag->Transform_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_xmldsigTransformType(stream, &exiFrag->Transform ); - } - } else if ( exiFrag->Transforms_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_xmldsigTransformsType(stream, &exiFrag->Transforms ); - } - } else if ( exiFrag->X509CRL_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509CRL.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509CRL.bytes, exiFrag->X509CRL.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Certificate_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 6, 36); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509Certificate.bytes, exiFrag->X509Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509Data_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 6, 37); - if(errn == 0) { - errn = encode_xmldsigX509DataType(stream, &exiFrag->X509Data ); - } - } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 38); - 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)(exiFrag->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509IssuerName.characters, exiFrag->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 6, 39); - if(errn == 0) { - errn = encode_xmldsigX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); - } - } else if ( exiFrag->X509SKI_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 6, 40); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->X509SKI.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->X509SKI.bytes, exiFrag->X509SKI.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 6, 41); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, exiFrag->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 6, 42); - 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)(exiFrag->X509SubjectName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->X509SubjectName.characters, exiFrag->X509SubjectName.charactersLen); - } - /* 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, 6, 43); - 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)(exiFrag->XPath.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->XPath.characters, exiFrag->XPath.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Y_isUsed == 1u ) { - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 6, 44); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Y.bytes, exiFrag->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - } - if(errn == 0) { - /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 6, 46); - } - - - if(errn == 0) { - /* flush any pending bits */ - errn = encodeFinish(stream); - } - - return errn; -} -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#endif - diff --git a/src/xmldsig/xmldsigEXIDatatypesEncoder.h b/src/xmldsig/xmldsigEXIDatatypesEncoder.h deleted file mode 100644 index 297d98c..0000000 --- a/src/xmldsig/xmldsigEXIDatatypesEncoder.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2007-2018 Siemens AG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/******************************************************************* - * - * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.4 - * @contact Richard.Kuntschke@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: xmldsig-core-schema.xsd

- * - * - ********************************************************************/ - - - -/** - * \file EXIDatatypesEncoder.h - * \brief Encoder for datatype definitions - * - */ - -#ifndef EXI_xmldsig_DATATYPES_ENCODER_H -#define EXI_xmldsig_DATATYPES_ENCODER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "xmldsigEXIDatatypes.h" - -#if DEPLOY_XMLDSIG_CODEC == SUPPORT_YES - -#include - -#include "EXITypes.h" - -int encode_xmldsigExiDocument(bitstream_t* stream, struct xmldsigEXIDocument* exiDoc); - -#if DEPLOY_XMLDSIG_CODEC_FRAGMENT == SUPPORT_YES -int encode_xmldsigExiFragment(bitstream_t* stream, struct xmldsigEXIFragment* exiFrag); -#endif /* DEPLOY_XMLDSIG_CODEC_FRAGMENT */ - - -#endif /* DEPLOY_XMLDSIG_CODEC */ - -#ifdef __cplusplus -} -#endif - -#endif

개요

프로ì íŠ¸ê²½ë¡œì˜¤ë¥˜ê²½ê³ ë©”ì‹œì§€
HexDumpToBinaryHexDumpToBinary\HexDumpToBinary.vcxproj100
HexToBinaryHexToBinary\HexToBinary.vcxproj100
V2GDecoderV2GDecoder\V2GDecoder.vcxproj100
솔루션V2GDecoderC.sln001

솔루션 ë° í”„ë¡œì íЏ

HexDumpToBinary

메시지
HexDumpToBinary\HexDumpToBinary.vcxproj: - ì´ í”„ë¡œì íЏ 형ì‹ì„ 기반으로 하는 애플리케ì´ì…˜ì„ 찾지 못했습니다. 추가 정보를 보려면 ì´ ë§í¬ë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤. 8bc9ceb8-8b4a-11d0-8d11-00a0c91bc942

HexToBinary

메시지
HexToBinary\HexToBinary.vcxproj: - ì´ í”„ë¡œì íЏ 형ì‹ì„ 기반으로 하는 애플리케ì´ì…˜ì„ 찾지 못했습니다. 추가 정보를 보려면 ì´ ë§í¬ë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤. 8bc9ceb8-8b4a-11d0-8d11-00a0c91bc942

V2GDecoder

메시지
V2GDecoder\V2GDecoder.vcxproj: - ì´ í”„ë¡œì íЏ 형ì‹ì„ 기반으로 하는 애플리케ì´ì…˜ì„ 찾지 못했습니다. 추가 정보를 보려면 ì´ ë§í¬ë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤. 8bc9ceb8-8b4a-11d0-8d11-00a0c91bc942

솔루션

메시지
- 표시 1 추가 메시지 -
V2GDecoderC.sln: - 솔루션 파ì¼ì€ 마ì´ê·¸ë ˆì´ì…˜í•˜ì§€ ì•Šì•„ë„ ë©ë‹ˆë‹¤.
- 숨기기 1 추가 메시지 -